日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

aio 爬虫,去重,入库

發(fā)布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 aio 爬虫,去重,入库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#aio 爬蟲,去重,入庫 import asyncio import aiohttp import aiomysql import re from pyquery import PyQuerystoping = False start_url = 'http://www.jobbole.com/'waiting_urls = [] seen_urls = set() # url去重 --布隆過濾器 bloom filter sem = asyncio.Semaphore(3) #限制并發(fā)數(shù)量 async def fetch(url,session):async with sem:#await asyncio.sleep(0.5)try:async with session.get(url) as resp:print(resp.status)if resp.status in [200,201]:data = await resp.text()return dataexcept Exception as e :print(e)#因為不是耗費 io的 所以用普通函數(shù) def extract_urls(html):urls = []pq = PyQuery(html)for link in pq.items('a'):url = link.attr('href')if url and url.startswith('http') and url not in seen_urls:urls.append(url)waiting_urls.append(url)return urlsasync def init_urls(url,session):html = await fetch(url,session)seen_urls.add(url)extract_urls(html)async def article_handeler(url,session,pool):#獲取文章詳情,并解析入庫html = await fetch(url,session)seen_urls.add(url)extract_urls(html)pq = PyQuery(html)title = pq('title').text()async with pool.acquire() as conn:async with conn.cursor() as cur:await cur.execute('SELECT 42;')insert_sql = 'insert into aiomysql_test(title) VALUES ("{}")'.format(title)await cur.execute(insert_sql)async def consumer(pool):async with aiohttp.ClientSession() as session:while not stoping:if len(waiting_urls) == 0:await asyncio.sleep(0.5)continueurl = waiting_urls.pop()print('start get url:{}'.format(url))if re.match('http://.*?jobbole.com/\d+/',url):if url not in seen_urls:asyncio.ensure_future(article_handeler(url,session,pool))await asyncio.sleep(0.5)else:if url not in seen_urls:asyncio.ensure_future(init_urls(url,session))async def main(loop):#等待mysql鏈接建立好pool = await aiomysql.create_pool(host='127.0.0.1',port = 3306,user = 'root',password='123456',db = 'aiomysql_test',loop=loop,charset = 'utf8',autocommit = True)async with aiohttp.ClientSession() as session:html = await fetch(start_url, session)seen_urls.add(start_url)extract_urls(html)asyncio.ensure_future(consumer(pool))if __name__ == "__main__":loop = asyncio.get_event_loop()asyncio.ensure_future(main(loop))loop.run_forever()

?

轉(zhuǎn)載于:https://www.cnblogs.com/Erick-L/p/8939607.html

總結(jié)

以上是生活随笔為你收集整理的aio 爬虫,去重,入库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产毛片欧美毛片久久久 | 国内毛片毛片毛片 | 精品国产乱码久久久久久108 | 欧美激情一区二区三区免费观看 | 日本少妇bbb | av一区二区在线播放 | 99av国产精品欲麻豆 | 高潮喷水一区二区三区 | 无码人妻精品一区二区三应用大全 | 国产成人影视 | 欧美亚洲第一页 | 日韩欧美亚洲一区二区三区 | 日本中文在线视频 | 亚洲人成一区 | 女女互磨互喷水高潮les呻吟 | 肉色超薄丝袜脚交一区二区图片 | 影音先锋波多野结衣 | 一边摸一边做爽的视频17国产 | 双性受孕h堵精大肚生子 | 欧美极品videos精品 | 日本成人在线免费观看 | 亚洲啪啪网址 | 啪啪免费网 | 伦理一级片 | 国产精品爱啪在线线免费观看 | www.96av| 青青视频网站 | 国产又粗又猛又黄又爽无遮挡 | 精品黄色一级片 | 三级性生活片 | 美腿丝袜一区二区三区 | 免费一级欧美 | 永久免费视频网站直接看 | 国产21区 | 色老头一区 | 日韩精品在线一区二区三区 | 激情小说综合 | 欧美亚洲图片小说 | 日本国产视频 | 91亚洲一区二区 | 日韩激情中文字幕 | 人人妻人人澡人人爽精品 | wwwxxx在线播放 | 欧美日韩一区二区三区免费 | 日韩性高潮 | 中出一区二区 | 亚洲综合色成人 | 国产吞精囗交免费视频网站 | 欧美在线精品一区二区三区 | 日韩成人一级片 | 亚洲无线观看 | 丝袜性爱视频 | 狠狠插狠狠操 | 免费大片在线观看www | 亚州av综合色区无码一区 | 欧美性做爰大片免费 | 午夜精品久久久久 | 国产国产乱老熟女视频网站97 | 性欧美丰满熟妇xxxx性久久久 | 久操久操| 亚洲妇女av | 国产一区二区视频在线播放 | 欧美精品四区 | 中文字幕一区二区三区门四区五区 | 国产精品成av人在线视午夜片 | 亚洲欧美国产另类 | 国产精品免费电影 | 久久久一级黄色片 | 亚洲射射 | 99热热热热 | 97国产精品视频人人做人人爱 | 国产成人综合在线视频 | 国产三级黄色 | 久久久久久久久久福利 | 欧美精品免费视频 | 成人福利午夜 | 久久免费看片 | 调教撅屁股啪调教打臀缝av | 亚洲欧洲日韩av | 日韩一区二区三区在线免费观看 | 欧美一级不卡视频 | 国产精品69久久久久 | 国产97色在线 | 国产 | 久久精品香蕉 | 大奶骚 | 国产白浆在线 | 亚洲av无码成人精品区 | 春色校园激情 | 欧美精品久久久久性色 | 不卡福利视频 | 制服丝袜av在线 | 爆操白虎| 国产免费999 | 天天色天天操天天 | 亚洲AV不卡无码一区二区三区 | 亚洲欧洲日本一区二区三区 | 欧美精品久久96人妻无码 | 亚洲欧美成人 | 进去里视频在线观看 |