我正在做一个webscraper代码,他工作得很好,现在我想用一个包含数千个url的CSV文件替换url,就像这样:
url1
url2
url3
.
.
.urlX
我的第一行网页抓取代码是一个基本的:
from bs4 import BeautifulSoup
import requests
from csv import writer
url= "HERE THE URL FROM EACH LINE OF THE CSV FILE"
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
我怎么能做告诉python,使用从CSV的url,我想做一个dico,但我不太知道我怎么能做到这一点,有人有解决方案吗?我知道这对你来说似乎很简单,但对我来说会很有用。
如果这只是一个url列表,那么您实际上并不需要csv
模块。但这里有一个解决方案,假设url在文件的第0列。您需要一个csv阅读器,而不是写入器,然后只需迭代行并执行操作即可。
from bs4 import BeautifulSoup
import requests
import csv
with open("url-collection.csv", newline="") as fileobj:
for row in csv.reader(fileobj):
# TODO: add try/except to handle errors
url = row[0]
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')