来自多个页面的Python requests.get()?
2021-07-01 23:24:18 发布
网友
男 | 程序猿一只,喜欢编程写python代码。
我正在学习如何使用python进行webscrape,我想知道是否可以使用requests.get()
获取两个页面,这样我就不必进行两个单独的调用和变量。例如:
r1 = requests.get("page1")r2 = requests.get("page2")pg1 = BeautifulSoup(r1.content, "html.parser")pg2 = BeautifulSoup(r2.content, "html.parser")
如你所见,有重复的代码。有办法吗?谢谢!在
2条回答
网友
1楼 ·
你可以使用列表赋值和理解,尽管只有两页的篇幅并不短。在
pg1, pg2 = [ BeautifulSoup(requests.get(page).content, "html.parser") for page in ["page1","page2"] ]
网友
2楼 ·
我喜欢grequests库一次获取多个url,而不是请求。尤其是在处理大量的URL或包含多个子页面的单个URL时。在
import grequests urls = ['http://google.com', 'http://yahoo.com', 'http://bing.com'] unsent_request = (grequests.get(url) for url in urls)results = grequests.map(unsent_request)
在此之后,results
可以根据需要进行处理。这可以很好地处理JSON数据:results[0]
=第一个URL数据,results[1]
=第二个URL数据,等等。。在
赞 (0)