【发布时间】:2017-10-15 03:46:55
【问题描述】:
我有一个程序,它从文本文件中读取一些 URL,使用 requests.get 获取页面源,然后使用 beautifulsoup4 查找一些信息。
f = open('inputfile.txt')
session = requests.Session()
session.headers.update({'User-Agent': 'Mozilla/5.0'})
for line in f:
x = 0
z = len(line)
r = session.get(line[x:z])
soup = bs4.BeautifulSoup(r.text, "html.parser")
这将返回 HTTP 400 错误请求 - 无效 URL。但是,当我执行相同的操作时,除了将 URL 输入为字符串之外,一切正常(尽管我只得到一个 URL)。
f = open('inputfile.txt')
session = requests.Session()
session.headers.update({'User-Agent': 'Mozilla/5.0'})
for line in f:
r = session.get('http://www.ExactSameUrlAsEarlier.com')
soup = bs4.BeautifulSoup(r.text, "html.parser")
我将如何修复/修改它以允许我循环浏览文件中的多个 URL?只是为了澄清,这就是 inputfile.txt 的样子:
http://www.url1.com/something1
http://www.url2.com/something2
等等。
提前致谢。
【问题讨论】:
-
如果
'inputfile.txt'中只有一个 url,它还会给你一个 400 吗?您是否还注销了line[x:z],只是为了确保它是一个有效的网址被拉出? -
是的,我已经记录了
line[x:z]的输出,它返回了一个有效的 url。当我将line[x:z]包含的网址直接复制粘贴到requests.get()语句中时,它可以工作。我没有尝试在输入文件中只使用一个 url,我会尝试看看它是如何工作的
标签: python-3.x file url python-requests