我正在从一个网站上抓取数据,并且检索了一个URL列表,从这些URL中可以获取所需的最终数据。如何使用循环从该地址列表中检索html?
在lxml中使用xpath,我有一个URL列表。现在,我需要检索每个URL的页面内容,然后再次使用xpath从每个页面获取最终数据。如果使用的话,我可以从每个页面分别获取数据
pagecontent=requests.get(linklist[1])
然后我可以获取1个网址的内容,但是如果我使用for循环
for i in range(0,8):
pagecontent[i]=requests.get(linklist[i])
我得到一个错误列表分配索引超出范围。我也尝试过使用
pagecontent=[requests.get(linklist) for s in linklist]
我看到的错误是没有找到'['http ...(链接列表)...]'的连接适配器
我正在尝试获取列表页面内容,其中列表中的每个项目都有相应URL的html。实现此目标的最佳方法是什么?
答案 0 :(得分:0)
根据您的评论,我相信这(或类似的东西)可能就是您想要的;由于我没有您的linklist
,因此我自己无法尝试,但是您应该能够修改代码以适合您的情况。它使用python f-strings来满足您的需求。
linklist = ['www.example_1.com','www.example_2.com','www.example_3.com']
pages = {} #initialize an empty dictionary to house your name/link entries
for i in range(len(linklist)):
pages[f'pagecontent[{i+1}]'] = linklist[i] #the '+1' is needed because python counts from 0...
for name, link in pages.items() :
print (name, link)
输出:
pagecontent[1] www.example_1.com
pagecontent[2] www.example_2.com
pagecontent[3] www.example_3.com