Skip to main content
 首页 » 编程设计

Python 从多个页面请求 .get()

2025年05月04日15shangdawei

我正在学习如何使用 python 进行网络抓取,我想知道是否可以使用 requests.get() 抓取两个页面,这样我就不必进行两次单独的调用和变量。例如:

r1 = requests.get("page1") 
r2 = requests.get("page2") 
 
pg1 = BeautifulSoup(r1.content, "html.parser") 
pg2 = BeautifulSoup(r2.content, "html.parser") 

如您所见,有重复的代码。有办法解决这个问题吗?谢谢!

请您参考如下方法:

我喜欢一次获取多个 URL 的 grequests 库,而不是 requests。特别是在处理大量 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 数据,等等。

更多可以找到here