[英]Python: Read URLs from csv/Excel column
我的 Excel 文件的最后一列充满了 url 链接。 我想从这些 url 中读取文本,以便在文本中搜索关键词。 问题是 requests.get 无法读取一列 url。 你能帮我解决这个问题吗? 谢谢!!!
我当前的代码在这里:
import pandas as pd
data=pd.read_excel('/Users/LE/Downloads/url.xlsx')
url=data.URL
res=requests.get(url, headers=headers)
html=res.text
soup = BeautifulSoup(html, 'lxml')
它不能工作,因为 'url' 是一列。
正如您所注意到的,这一行将为您提供整列:
url=data.URL
但是,您可以遍历列并单独访问每个 URL,如下所示:
import pandas
data = pandas.read_excel("PATH/TO/XLSX")
for url in data.URL:
print(url)
您在打开文件并使用 url 提取列方面做得很好,
最后一步是遍历它们 - 对 url 中的每个 url 重复请求 -
import requests
import pandas as pd
# open the file
data = pd.read_excel('/Users/LE/Downloads/url.xlsx')
# get the urls
urls = data.URL
# go through every url in the urls
for url in urls:
# do the request for this url
res = requests.get(url, headers=headers)
# soup-it
html = res.text
soup = BeautifulSoup(html, 'lxml')
此行将 Dataframe 的 URL 列分配给“url”:
url=data.URL
'url' 现在是 Pandas Series 对象,可以使用 for 循环进行迭代:
for u in url:
# your request here
有关更多信息,请参阅有关系列的 Pandas 文档: https ://pandas.pydata.org/docs/reference/series.html
请注意,将位于 URL 的文本文件的内容保存在本地可能会更容易,然后再搜索这些保存的文件,以避免对同一文件执行多个请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.