原因:查看asyncio ,aiohttp 和lxml配合的速度
# coding=utf-8
import asyncio
import logging
import time
from aiohttp import ClientSession
from lxml import etree
logging.basicConfig(
level = logging.INFO,
format = "%(asctime)s [*] %(message)s"
)
URL = "https://www.fabiaoqing.com/biaoqing/lists/page/{}.html"
# 提取图片标题,链接
def parse(source_):
try:
response = etree.HTML(source_)
tagbqppdiv = response.xpath('//div[@class="tagbqppdiv"]/a')
for index, img in enumerate(tagbqppdiv):
args = (int(index + 1), img.xpath('@title')[0], img.xpath('img/@data-original')[0])
logging.info('第 %d 张 标题:%r 链接:%r' % args)
except Exception as e:
print('解析详情页出错!')
pass
# 获取网页源码
async def get_source(url_):
try:
async with ClientSession( ) as session:
async with session.get(url_) as response:
source = await response.read( )
parse(source)
except asyncio.CancelledError:
raise
async def main( ):
now = time.time( )
tasks = [asyncio.ensure_future(get_source(URL.format(i)))
for i in range(1, 201)]
# 第一种运行方式-----------------------------------
dones, pendings = await asyncio.wait(tasks)
# 已完成的协程-------------------------------------
# for done in dones:
# logging.info(f"已完成的协程:{done.result( )}")
# 超时未完成的协程---------------------------------
# for pending in pendings:
# logging.info(f"超时未完成的协程 :{pending}")
# pending.cancel( )
logging.info(f"总用时:{time.time( ) - now}")
if __name__ == "__main__":
event_loop = asyncio.get_event_loop( )
# ------------------------------------------------
try:
# 用这个协程启动循环,协程返回时这个方法将停止循环。
event_loop.run_until_complete(main( ))
except KeyboardInterrupt:
for task in asyncio.Task.all_tasks( ):
print(task.cancel( ))
event_loop.stop( )
finally:
event_loop.close( )
输出:最后附上一张图片
2019-10-13 22:06:51,243 [*] 第 23 张 标题:'你这个臭居居(臭猪猪)' 链接:'http://wx1.sinaimg.cn/bmiddle/006i487Uly1fk9mhg5q4yj30b409qgm1.jpg'
2019-10-13 22:06:51,243 [*] 第 24 张 标题:'撩骚的猪' 链接:'http://wx4.sinaimg.cn/bmiddle/814268e3ly1fl67k7p8zaj20hs0dldj8.jpg'
2019-10-13 22:06:51,243 [*] 第 25 张 标题:'摇头赌气' 链接:'http://wx3.sinaimg.cn/bmiddle/ceeb653ely1fl9ggif8nwg203c02m0y7.gif'
2019-10-13 22:06:51,243 [*] 第 26 张 标题:'各位土豪赏点钱帮我买条秋裤吧' 链接:'http://wx1.sinaimg.cn/bmiddle/006oOWahly1fl3pub76j9j30b40b4mxq.jpg'
2019-10-13 22:06:51,243 [*] 第 27 张 标题:'卖鸡巴为生的贱男人' 链接:'http://ww3.sinaimg.cn/bmiddle/9150e4e5ly1fkycdb18ehj20c80dagma.jpg'
2019-10-13 22:06:51,243 [*] 第 28 张 标题:'80 cm' 链接:'http://ww1.sinaimg.cn/bmiddle/9150e4e5ly1fkycgod22ij203c02bdfm.jpg'
2019-10-13 22:06:51,244 [*] 第 29 张 标题:'信不信老子冲过去就是扇你B脸' 链接:'http://ww1.sinaimg.cn/bmiddle/9150e4e5ly1fkvwyj7nq2j205205ijr8.jpg'
2019-10-13 22:06:51,244 [*] 第 30 张 标题:'城管执法,推着你的三轮儿赶紧滚' 链接:'http://ww2.sinaimg.cn/bmiddle/9150e4e5ly1fkvwz2f341j204l05iq2r.jpg'
2019-10-13 22:06:51,244 [*] 第 31 张 标题:'拿烟的手,微微颤抖' 链接:'http://ww3.sinaimg.cn/bmiddle/9150e4e5ly1fkr9qasvmhg206o06yaag.gif'
2019-10-13 22:06:51,244 [*] 第 32 张 标题:'别睡了,快醒醒!' 链接:'http://wx2.sinaimg.cn/bmiddle/ab4cb34aly1fku8rhb75aj20h40c8jt8.jpg'
2019-10-13 22:06:51,244 [*] 第 33 张 标题:'我們的感情,回不去了' 链接:'http://ww1.sinaimg.cn/bmiddle/9150e4e5ly1fktmoy76g6j205l06yt8q.jpg'
2019-10-13 22:06:51,244 [*] 第 34 张 标题:'嗨,三秒小鸡巴' 链接:'http://ww2.sinaimg.cn/bmiddle/9150e4e5ly1fkr9n7o0gkj2046025743.jpg'
2019-10-13 22:06:51,244 [*] 第 35 张 标题:'别说了我同意睡你' 链接:'http://ww2.sinaimg.cn/bmiddle/9150e4e5ly1fkr9o8zyqvj205a05a3ym.jpg'
2019-10-13 22:06:51,244 [*] 第 36 张 标题:'尖叫声!!' 链接:'http://ww1.sinaimg.cn/bmiddle/9150e4e5ly1fkr98rjfacj208s07gaa3.jpg'
2019-10-13 22:06:51,245 [*] 第 37 张 标题:'你是想气死我这个小女孩吗(小刚几)' 链接:'http://wx4.sinaimg.cn/bmiddle/006APoFYly1fkqwejv8sxj30i20i2dh5.jpg'
2019-10-13 22:06:51,245 [*] 第 38 张 标题:'么么哒' 链接:'http://ww4.sinaimg.cn/bmiddle/9150e4e5ly1fkonbjfm41j203c02wwe9.jpg'
2019-10-13 22:06:51,245 [*] 第 39 张 标题:'你能亲我一口吗?最好伸舌头' 链接:'http://wx2.sinaimg.cn/bmiddle/9e31678cgy1fkoy8ah133j20hs0fgdgg.jpg'
2019-10-13 22:06:51,246 [*] 第 40 张 标题:'让我干一炮(抱腿)' 链接:'http://ww2.sinaimg.cn/bmiddle/9150e4e5ly1fknuxz6typj20hs0dnafn.jpg'
2019-10-13 22:06:51,248 [*] 第 41 张 标题:'它们说只要我喝的够多,寂寞就侵蚀不了我。猫咪坐在墙角喝酒抽烟' 链接:'http://wx2.sinaimg.cn/bmiddle/9e31678cgy1fkb2pvs7q9j20k00k0q4r.jpg'
2019-10-13 22:06:51,248 [*] 第 42 张 标题:'你要的红包来了' 链接:'http://ww3.sinaimg.cn/bmiddle/6af89bc8gw1f8qaarg345j205i05iq2r.jpg'
2019-10-13 22:06:51,248 [*] 第 43 张 标题:'看你妈,再看单杀你' 链接:'http://wx4.sinaimg.cn/bmiddle/005wAjLPly1fl7k2mu6esj30qo0qo16c.jpg'
2019-10-13 22:06:51,248 [*] 第 44 张 标题:'最近有谣言说我喜欢你,我要澄清一下,这不是谣言(小猪佩奇)' 链接:'http://wx4.sinaimg.cn/bmiddle/814268e3ly1fl67kan9l4j20j60j6q4i.jpg'
2019-10-13 22:06:51,249 [*] 第 45 张 标题:'哼,傻逼网友,发的仕么鸡巴' 链接:'http://ww4.sinaimg.cn/bmiddle/9150e4e5ly1fkvwypvycuj205e05djr9.jpg'
2019-10-13 22:06:51,268 [*] 总用时:14.914090394973755