使用yield函数从多个页面中抓取数据的方法如下:
以下是一个示例代码:
import requests
from bs4 import BeautifulSoup
def fetch_data(urls):
for url in urls:
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
data = soup.find('div', class_='data').text
yield data
# 调用生成器函数并迭代返回的数据
urls = ['http://example.com/page1', 'http://example.com/page2', 'http://example.com/page3']
for data in fetch_data(urls):
print(data)
在这个示例中,fetch_data函数接受一个URL列表作为参数,并使用yield语句返回每个页面的数据。在主程序中,我们使用for循环来迭代生成器的返回值,并打印每个页面的数据。
请注意,这只是一个简单的示例,实际应用中可能需要处理更复杂的页面结构和数据提取逻辑。另外,根据具体需求,可能需要添加异常处理、分页处理、并发请求等功能。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云