如何循环浏览链接的csv文件,使用BeautifulSoup和请求抓取网站,而不获取请求.exceptions.Inva



我对编码还很陌生,感谢社区的支持!

我想做的事:我有一个csv文件,其中包含指向各种产品的链接,我想获得产品标题,并将其写回同一个或另一个csw文件(其实并不重要(。为了做到这一点,我尝试导入csv文件(效果很好(,将每一行写入一个列表(效果也不错(,然后选择列表中的每个值来提取产品标题。

我的问题是:抓取单个链接是有效的,所以问题在于列表、循环、请求组合。如果我运行以下代码,我会得到错误请求。exceptions.InvalidSchema.

from bs4 import BeautifulSoup
import requests
import csv
f = open('three_links.csv', 'r')
reader = csv.reader(f)
links = []
for row in reader:
links.append(row)
for link in links:
response = requests.get(link)
soup = BeautifulSoup(response.text, 'html.parser')
title = print(soup.find(class_='sidebar-product-name').text.replace("n","").replace(" ",""))

提前感谢!

问题是从csv文件中读取的每一行都是一个列表,因此

response = requests.get(link)

实际上有点像

response = requests.get(['https://www.example.com', 'something', 'something else'])

你可以这样做(假设链接在csv:的第一列

response = requests.get(link[0])

最新更新