繁体   English   中英

Python:从 csv/Excel 列中读取 URL

[英]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' 是一列。

完成Excel

正如您所注意到的,这一行将为您提供整列:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM