看板 Python 關於我們 聯絡資訊
大家好, 寫了一個小爬蟲,因為擷取的資料為dataframe,迴圈結果都只輸出最後一次, 請問該如何讓每次迭代的結果,按照row堆疊下去呢? ------------------------------------------------------------- urls = ['http://www.fishbase.org/popdyn/PopGrowthList.php?ID=22903&GenusName=Abbottina&SpeciesName=rivularis&fc=122', 'http://www.fishbase.org/popdyn/PopGrowthList.php?ID=972&GenusName=Ablennes&SpeciesName=hians&fc=207', 'http://www.fishbase.org/popdyn/PopGrowthList.php?ID=268&GenusName=Abramis&SpeciesName=brama&fc=122'] for url in urls: QWQ = re.findall(r"=(\w+)&", url) fish = pd.read_html(url)[1].assign(id=QWQ[0],gnema=QWQ[1],snema=QWQ[2]) pd.concat([fish], axis=0) print(fish) -------------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.70.50 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1517315501.A.67D.html
painkiller: 你的'fish = '會把舊的data frame洗掉 01/31 00:33
drunkofwind: 請問 那該怎麼放呢? 01/31 09:03
painkiller: 迴圈外 'fish_all = ' 先讀第一個url 01/31 09:15
painkiller: 迴圈內 fish_all = pd.concat([fish_all, fish] ... 01/31 09:16
painkiller: 或是append 01/31 09:16
drunkofwind: 謝謝P大解答~~~感激不盡! 01/31 10:11