代码
import requests
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor
urls = ['https://www.52pojie.cn', 'https://www.baidu.com', 'https://www.mainblog.cn']
def get_title(url):
# 发送http请求获取html页面内容
response = requests.get(url)
html = response.content
# 解析html页面内容,获取网站标题
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.string
# 输出网站标题
print(f"{url} - {title}")
# 使用线程池执行get_title函数,并传入不同的URL参数
with ThreadPoolExecutor(max_workers=3) as executor:
executor.map(get_title, urls)
输出结果

总结
以上代码中,我们首先定义了要爬取的网站地址列表 urls,然后定义了一个 get_title 函数,该函数接受一个 URL 参数,发送 HTTP 请求获取网站 HTML 页面内容,并解析页面获取网站标题,并输出结果。
接下来,我们使用 ThreadPoolExecutor 类创建一个线程池,并将 get_title 函数提交给线程池中的线程进行执行,传入的参数为 urls 列表中的每个子元素。由于我们这里使用了 max_workers=3 参数,因此最多只会同时执行三个线程,分别对应 urls 中的三个网站地址。
注意
运行该脚本时,它将输出每个网站的标题。注意,由于使用了多线程,因此输出的顺序可能与 urls 列表中的顺序不一致。
本文地址:https://www.mainblog.cn/313.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
黔ICP备19006353号-2
贵公网安备 52052102000042号