Python多线程爬取斗图啦表情包
斗图啦表情包多线程爬取-撸代码
首先快速的导入我们需要的模块,和其他文章不同,我把相同的表情都放在了同一个文件夹下面,所以需要导入os模块
import asyncio
import aiohttp
from lxml import etree
import os
编写主要的入口方法
if __name__ == '__main__':url_format = "http://www.doutula.com/article/list/?page={}"urls = [url_format.format(index) for index in range(1,586)]loop = asyncio.get_event_loop()tasks = [x_get_face(url) for url in urls]results = loop.run_until_complete(asyncio.wait(tasks))
我们是为了学习,不是为了攻击别人服务器,所以限制一下并发数量
sema = asyncio.Semaphore(3)async def x_get_face(url):with(await sema):await get_face(url)
最后,一顿操作猛如虎,把所有的代码补全,就搞定了,这部分没有什么特别新鲜的地方,找图片链接,然后下载。
'''
遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载!
'''
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}
async def get_face(url):print("正在操作{}".format(url))async with aiohttp.ClientSession() as s:async with s.get(url,headers=headers,timeout=5) as res:if res.status==200:html = await res.text()html_format = etree.HTML(html)hrefs = html_format.xpath("//a[@class='list-group-item random_list']")for link in hrefs:url = link.get("href")title = link.xpath("div[@class='random_title']/text()")[0] # 获取文件头部path = './biaoqings/{}'.format(title.strip()) # 硬编码了,你要先在项目根目录创建一个biaoqings的文件夹if not os.path.exists(path):os.mkdir(path)else:passasync with s.get(url, headers=headers, timeout=3) as res:if res.status == 200:new_html = await res.text()new_html_format = etree.HTML(new_html)imgs = new_html_format.xpath("//div[@class='artile_des']")for img in imgs:try:img = img.xpath("table//img")[0]img_down_url = img.get("src")img_title = img.get("alt")except Exception as e:print(e)async with s.get(img_down_url, timeout=3) as res:img_data = await res.read()try:with open("{}/{}.{}".format(path,img_title.replace('\r\n',""),img_down_url.split('.')[-1]),"wb+") as file:file.write(img_data)except Exception as e:print(e)else:passelse:print("网页访问失败")
等着,大量的表情包就来到了我的碗里。
Python多线程爬取斗图啦表情包相关推荐
- 斗图斗不过小伙伴?python多线程爬取斗图网表情包,助你成为斗图帝!
最近python基础课讲到了多线程,老师让交个多线程的实例练习.于是来试试多线程爬虫,正好复习一下mooc上自学的嵩天男神的爬虫知识.想法很美好,过程却很心酸,从早上开始写,每次出现各种奇怪问题,到现 ...
- 爬虫笔记——多线程爬取斗图网表情包(threading)
爬虫笔记--多线程爬取斗图网表情包(threading) 网站观察 爬取框架 具体代码 斗图网网址:斗图网,这里以爬取最新套图为例. 网站观察 在网页翻页操作中可以看到网页是非动态加载的(page为页 ...
- python3爬虫——多线程爬取斗图网表情包
本文用多线程生产者,消费者模式爬取斗图网的表情包,并下载保存到本地,get_page()函数负责获取页面的图片的url链接,downlod_img()函数通过图片url下载保存到本地文件夹中,开启多线 ...
- 多线程爬取斗图网表情包
import requests import re import queue import threading import timeHeaders = {'User-Agent': 'Mozilla ...
- python多线程爬取斗图啦数据
python多线程爬取斗图啦网的表情数据 使用到的技术点 requests请求库 re 正则表达式 pyquery解析库,python实现的jquery threading 线程 queue 队列 ' ...
- 手把手教学php表情包,手把手教你爬取斗图啦表情包
爬取表情包 闲来无事,突然想到表情包好久没有更新了,正好这几天学了爬虫,利用爬虫来更新一波表情包,哈哈哈. 有一个网站,叫做"斗图啦",网址是:https://www.doutul ...
- Python项目实战:爬取斗图网表情包图片
2019独角兽企业重金招聘Python工程师标准>>> 前言 相信大家在和别人聊天的时候都很喜欢斗图吧,斗着斗着斗忘记睡觉了,哈哈,感情得到了升华,下面来介绍一个利用Python在斗 ...
- 熊猫人表情包python 代码_用Python爬取斗图网表情包
一.介绍 用python处理二进制文件的事情做的比较少,虽然之前有写过分析Ajax抓取今日头条街拍美图,但那个爬虫重在分析Ajax,并没有提到文件路径和文件命名,所以就有了这个爬虫 二.流程 流程一般 ...
- python爬取斗图啦表情包并下载到本地
迫于无聊,又刚好正在学习python,就来记录一篇关于python爬取图片链接下载本地的入门文章... 主要用到的模块: request 和 BeautifulSoup4 开发之前建议先看一下官方给出 ...
最新文章
- php析构函数的用法
- Unity学习笔记2 简易2D横版RPG游戏制作(二)
- MOSS2007的网站和工作区
- [云炬创业基础笔记]第七张创业团队测试1
- Unhandled event loop exception Item not added
- 【Comet OJ - Contest #5 - C】迫真小游戏(优先队列,贪心构造,树,字典序)
- python tclerror_TclError:错误的窗口路径名(Python)
- 关于复利2.0 3.0
- 【解释】while(~scanf(%d, n))的~的含义~scanf
- 简析 JSON 中的{}与[]
- 对于C语言可移植性的思考
- Framebuffer基础知识(三十)
- bypass功能介绍
- 2021 年 五一数学建模比赛 B 题(第四问至第六问)
- java开源内容发布系统_18个Java开源CMS系统一览
- python 网络监控系统手机版下载_云视通网络监控系统手机版下载_云视通下载手机版-太平洋下载中心...
- `Caché/IRIS` 代码优化效率提升十一条 - 持续更新
- 【资料分享】迪文屏使用经验分享
- matlab提取数据的一部分,matlab处理excel数据【怎么用MATLAB从excel中提取部分数据】...
- sku设计mysql_SKU数据库设计
热门文章
- 我的性格类型—— INFP(哲学家型人格 )
- linux关闭显示器接口类型,Linux Mint 笔记本外接显示器,关闭笔记本显示器的方法...
- 简时间:纯净之光面膜——我的美颜秘密
- 【文献研究】轴辐式航线网络设计—Liner hub-and-spoke shipping network design
- java jprogressbar_Java -Swing-学习笔记
- add partition mysql_mysql partition 功能
- 分享6款越用越好用的微信小程序
- 如何打英語音標, 快速輸入音標
- [Python]基础语法(二)文本处理函数
- Generative Sparse Detection Networks for 3D Single-shot Object Detection稀疏检测网络(GSDN)