Python多线程爬虫的使用方法是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Python多线程爬虫的使用方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2026年11月03日Python多线程爬虫的使用方法是什么
本篇内容介绍了"Python多线程爬虫的使用方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
基本开发环境
Python 3.6
Pycharm
wkhtmltopdf
相关模块的使用
re
requests
concurrent.futures
安装Python并添加到环境变量,pip安装需要的相关模块即可。
一、明确需求
现在聊天谁还不发几个表情包?聊天时,表情包是我们重要的工具,更是拉进小伙伴们距离的好帮手,当聊天陷入尴尬境地时,随手一张表情包,让尴尬化为无形
二、网页数据分析
如图所示斗图网上面的图片数据都包含在 a 标签当中,可以尝试直接请求这个网页,查看response 返回的数据当中是否也含有 图片地址。
import requestsdef get_response(html_url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } response = requests.get(url=html_url, headers=headers) return responsedef main(html_url): response = get_response(html_url) print(response.text)if __name__ == '__main__': url = 'https://www.doutula.com/photo/list/' main(url)在输出结果中 ctrl + F 进行搜索。
这里有一个点想要注意一下,我用python请求网页所给我们返回的结果当中,包含图片url地址是:
data-original="图片url"
data-backup="图片url"
如果想要提取url地址的话,可以用parsel 解析库,或者 re 正则表达式。之前都是使用的parsel,本篇文章就用 正则表达式吧。
urls = re.findall('data-original="(.*?)"', response.text)单页爬取完整代码
import requestsimport redef get_response(html_url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } response = requests.get(url=html_url, headers=headers) return responsedef save(image_url, image_name): image_content = get_response(image_url).content filename = 'images\\' + image_name with open(filename, mode='wb') as f: f.write(image_content) print(image_name)def main(html_url): response = get_response(html_url) urls = re.findall('data-original="(.*?)"', response.text) for link in urls: image_name = link.split('/')[-1] save(link, image_name)if __name__ == '__main__': url = 'https://www.doutula.com/photo/list/' main(url)多线程爬取全站图片(如果你的内存够大)
3631页的数据,什么表情都有,嘿嘿嘿
import requestsimport reimport concurrent.futuresdef get_response(html_url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } response = requests.get(url=html_url, headers=headers) return responsedef save(image_url, image_name): image_content = get_response(image_url).content filename = 'images\\' + image_name with open(filename, mode='wb') as f: f.write(image_content) print(image_name)def main(html_url): response = get_response(html_url) urls = re.findall('data-original="(.*?)"', response.text) for link in urls: image_name = link.split('/')[-1] save(link, image_name)if __name__ == '__main__': # ThreadPoolExecutor 线程池的对象 # max_workers 最大任务数 executor = concurrent.futures.ThreadPoolExecutor(max_workers=3) for page in range(1, 3632): url = f'https://www.doutula.com/photo/list/?page={page}' # submit 往线程池里面添加任务 executor.submit(main, url) executor.shutdown()"Python多线程爬虫的使用方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
图片
线程
数据
表情
地址
网页
使用方法
方法
爬虫
尴尬
任务
内容
文章
更多
模块
正则
环境
知识
结果
表达式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网佳科技有限公司
科技创新与互联网经济
互联网公司 科技公司
华中科技大学互联网
智慧科技互联网
互联网科技公司有哪些
互联网金融中的现代科技
苏州铭阳互联网科技有限公司
搜狐科技互联网
坤平互联网科技
徐州市互联网科技有限公司
上海京穆互联网科技有限公司
北京市互联网新科技
互联网科技实习生岗位
云南省自由互联网科技有限公司
有人说阿里系是互联网科技企业
吉林省码上互联网科技电话
三亚科技创新互联网基地
10位科技互联网大佬
互联网企业和网络科技有限公司
广东猪兼强互联网科技有限公司
科技类互联网
深圳期待互联网科技
互联网教育科技公司vipkid
重庆互联网医院沙龙医盟信息科技
互联网公司黑科技创始人
下一代互联网重大应用科技园
2021世界互联网领先科技成果发布
科技信息时代互联网发展
第三届互联网大会安防黑科技