gpt4 book ai didi

python网络抓取并将数据写入csv

转载 作者:太空宇宙 更新时间:2023-11-04 00:45:34 26 4
gpt4 key购买 nike

我正在尝试将所有数据(即所有页面)保存在单个 csv 文件中,但此代码仅保存最终页面数据。例如,此处 url[] 包含 2 个 url。最终的 csv 只包含第二个 url 数据。我显然在循环中做错了什么。但我不知道是什么。此页面还包含 100 个数据点。但是这段代码只写了前 44 行。请帮忙解决这个问题......

from bs4 import BeautifulSoup
import requests
import csv
url = ["http://sfbay.craigslist.org/search/sfc/npo","http://sfbay.craigslist.org/search/sfc/npo?s=100"]
for ur in url:
r = requests.get(ur)
soup = BeautifulSoup(r.content)
g_data = soup.find_all("a", {"class": "hdrlnk"})
gen_list=[]
for row in g_data:
try:
name = row.text
except:
name=''
try:
link = "http://sfbay.craigslist.org"+row.get("href")
except:
link=''
gen=[name,link]
gen_list.append(gen)

with open ('filename2.csv','wb') as file:
writer=csv.writer(file)
for row in gen_list:
writer.writerow(row)

最佳答案

gen_list 在遍历 url 的循环中再次被初始化。

gen_list=[]

将此行移到 for 循环之外。

...
url = ["http://sfbay.craigslist.org/search/sfc/npo","http://sfbay.craigslist.org/search/sfc/npo?s=100"]
gen_list=[]
for ur in url:
...

关于python网络抓取并将数据写入csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39809465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com