python第一个多进程爬虫
以下是一个简单的Python多进程爬虫示例,使用multiprocessing
库来实现多进程:
import requests
from lxml import etree
from multiprocessing import Pool
def fetch_page(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
def parse_page(html):
tree = etree.HTML(html)
# 假设我们要解析的内容是页面中的标题
title = tree.xpath('//title/text()')
return title[0] if title else None
def main():
urls = ['http://example.com/page1', 'http://example.com/page2', 'http://example.com/page3']
with Pool(processes=4) as pool:
results = pool.map(fetch_page, urls)
parsed_results = pool.map(parse_page, results)
for title in parsed_results:
print(title)
if __name__ == "__main__":
main()
这段代码定义了一个多进程爬虫的基本框架:
fetch_page
函数负责获取页面内容。parse_page
函数负责解析页面内容。main
函数中,我们创建了一个进程池,并使用它来并发地执行页面抓取和解析任务。
请根据实际需求调整fetch_page
和parse_page
函数中的实现细节。
评论已关闭