成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Python使用xpath實現圖片爬取

瀏覽:4日期:2022-07-11 09:53:11

高性能異步爬蟲

目的:在爬蟲中使用異步實現高性能的數據爬取操作

異步爬蟲的方式:

- 多線程、多進程(不建議):

好處:可以為相關阻塞的操作單獨開啟多線程或進程,阻塞操作就可以異步執行;

弊端:無法無限制的開啟多線程或多進程。

- 線程池、進程池(適當的使用):

好處:我們可以降低系統對進程或線程創建和銷毀的一個頻率,從而很好的降低系統的開銷;

弊端:池中線程或進程的數據是有上限的。

代碼如下

# _*_ coding:utf-8 _*_'''@FileName :6.4k圖片解析爬取(異步高性能測試).py@CreateTime :2020/8/14 0014 10:01@Author : Lurker Zhang@E-mail : 289735192@qq.com@Desc. :'''import requestsfrom lxml import etreefrom setting.config import *import jsonimport osimport timefrom multiprocessing.dummy import Pooldef main(): # 圖片采集源地址 # source_url = ’http://pic.netbian.com/4kmeinv/’ # temp_url = ’http://pic.netbian.com/4kmeinv/index_{}.html’ # source_url = ’http://pic.netbian.com/4kdongman/’ # temp_url = ’http://pic.netbian.com/4kdongman/index_{}.html’ source_url = ’http://pic.netbian.com/4kmingxing/’ temp_url = ’http://pic.netbian.com/4kmingxing/index_{}.html’ # 本此采集前多少頁,大于1的整數 page_sum = 136 all_pic_list_url = [] if page_sum == 1: pic_list_url = source_url print(’開始下載:’ + pic_list_url) all_pic_list_url.append(pic_list_url) else: # 先采集第一頁 pic_list_url = source_url # 調用采集單頁圖片鏈接的函數 all_pic_list_url.append(pic_list_url) # 再采集第二頁開始后面的頁數 for page_num in range(2, page_sum + 1): pic_list_url = temp_url.format(page_num) all_pic_list_url.append(pic_list_url) # 單頁圖片多線程解析 pool1 = Pool(10) pool1.map(down_pic, all_pic_list_url) print(’采集完成,本地成功下載{0}張圖片,失敗{1}張圖片。’.format(total_success, total_fail)) # 存儲已下載文件名列表: with open('../depository/mingxing/pic_name_list.json', ’w’, encoding=’utf-8’) as fp: json.dump(pic_name_list, fp)def down_pic(pic_list_url): print('準備解析圖片列表頁:',pic_list_url) # 獲取圖片列表頁的網頁數據 pic_list_page_text = requests.get(url=pic_list_url, headers=headers).text tree_1 = etree.HTML(pic_list_page_text) # 獲取圖片地址列表 pic_show_url_list = tree_1.xpath(’//div[@class='slist']/ul//a/@href’) pic_url_list = [get_pic_url(’http://pic.netbian.com’ + pic_show_url) for pic_show_url in pic_show_url_list] # 開始下載并保存圖片(多線程) pool2 = Pool(5) pool2.map(save_pic, pic_url_list)def save_pic(pic_url): print('準備下載圖片:',pic_url) global total_success, total_fail, pic_name_list,path picname = get_pic_name(pic_url) if not picname in pic_name_list: # 獲取日期作為保存位置文件夾 pic = requests.get(url=pic_url, headers=headers).content try: with open(path + picname, ’wb’) as fp:fp.write(pic) except IOError: print(picname + '保存失敗') total_fail += 1 else: pic_name_list.append(picname) total_success += 1 print('成功保存圖片:{0},共成功采集{1}張。'.format(picname, total_success)) else: print('跳過,已下載過圖片:' + picname) total_fail += 1def get_pic_name(pic_url): return pic_url.split(’/’)[-1]def get_pic_url(pic_show_url): tree = etree.HTML(requests.get(url=pic_show_url, headers=headers).text) return ’http://pic.netbian.com/’ + tree.xpath(’//div[@class='photo-pic']/a/img/@src’)[0]if __name__ == ’__main__’: # 讀入已采集圖片的名稱庫,名稱存在重復的表示已經采集過將跳過不采集 if not os.path.exists(’../depository/mingxing/pic_name_list.json’): with open('../depository/mingxing/pic_name_list.json', ’w’, encoding='utf-8') as fp: json.dump([], fp) with open('../depository/mingxing/pic_name_list.json', 'r', encoding='utf-8') as fp: pic_name_list = json.load(fp) path = ’../depository/mingxing/’ + time.strftime(’%Y%m%d’, time.localtime()) + ’/’ if not os.path.exists(path): os.mkdir(path) # 記錄本次采集圖片的數量 total_success = 0 total_fail = 0 main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产老肥熟一区二区三区| 久久久久久久久久久99999| 激情自拍一区| 性欧美暴力猛交另类hd| 欧美色电影在线| 2欧美一区二区三区在线观看视频| 1000精品久久久久久久久| 亚洲一级电影视频| 国产综合色视频| 欧美激情一区二区三区在线视频| 亚洲精品四区| 欧美美女一区二区三区| 国产人妖乱国产精品人妖| 亚洲国产乱码最新视频| 国产福利一区二区| 国产一区激情| 欧美影院一区二区| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲影视资源网| 国产成人av影院| 亚洲激情av| 91麻豆精品国产91久久久久久久久| 国产日韩欧美亚洲| 日韩国产精品大片| 91丨porny丨国产| 老司机亚洲精品| 久久综合国产精品| 亚洲国产aⅴ天堂久久| 波多野结衣在线一区| 午夜综合激情| 日本一区二区三区dvd视频在线| 日本欧美一区二区三区| 欧美精品在线一区| 欧美麻豆精品久久久久久| 亚洲美女免费在线| 风间由美中文字幕在线看视频国产欧美 | 91丨porny丨在线| 精品av久久707| 欧美日本中文| 中文字幕欧美激情| 亚洲高清资源综合久久精品| 亚洲午夜成aⅴ人片| 欧美一区二区视频观看视频| 亚洲激情中文1区| av午夜精品一区二区三区| 在线免费观看日韩欧美| 亚洲精品视频免费看| 从欧美一区二区三区| 色妞www精品视频| 中文字幕亚洲一区二区av在线| 国产一区二区三区免费播放| 久久精品一区二区国产| 国产精品成人免费在线| 欧美国产97人人爽人人喊| 久久99精品久久久久| 国产精品免费一区二区三区观看 | 一区二区三区欧美在线| 欧美变态tickle挠乳网站| 国产亚洲欧美一区二区| 国产精品无圣光一区二区| 亚洲国产一区二区在线| 亚洲国产日产av| 成人深夜在线观看| 亚洲国产专区校园欧美| 久久综合久久综合亚洲| 国内精品久久久久影院薰衣草 | 国产精品国产三级国产专区53| 555夜色666亚洲国产免| 日韩电影在线免费观看| 国产亚洲精品v| 1区2区3区国产精品| 91香蕉视频黄| 日韩亚洲欧美中文三级| 麻豆精品在线看| 亚欧美中日韩视频| 亚洲天堂2016| 午夜久久tv| 久久久亚洲精品一区二区三区| 国产一区二区三区在线看麻豆| 色婷婷综合久久久中文一区二区| 亚洲精品免费在线| 亚洲国产高清一区二区三区| 国产精品日日摸夜夜摸av| 97久久精品人人做人人爽| 日韩精品最新网址| 国产成人午夜精品5599| 日韩欧美高清dvd碟片| 国产成人亚洲综合色影视| 欧美日本一区二区三区| 久久精品国产秦先生| 欧美一a一片一级一片| 奇米精品一区二区三区在线观看| 久久久久久亚洲精品杨幂换脸| 亚洲一区成人在线| 另类av一区二区| 亚洲一区二区三区中文字幕在线| 1024精品一区二区三区| 亚洲欧美一区二区三区孕妇| 1024亚洲| 亚洲成人中文在线| 一本大道久久精品懂色aⅴ| 日本aⅴ精品一区二区三区| 欧美四级电影网| 捆绑变态av一区二区三区| 欧美日韩高清在线| 国产福利一区二区三区| 久久这里只有精品首页| 91麻豆福利精品推荐| 国产性色一区二区| 欧美激情无毛| 综合欧美亚洲日本| 国产精品日韩一区二区| 日本欧美一区二区| 69av一区二区三区| av一区二区三区在线| 国产片一区二区三区| 999亚洲国产精| 亚洲成av人片一区二区| 久久激情网站| 理论电影国产精品| 日韩一区二区三区视频| av午夜精品一区二区三区| 欧美激情一区二区三区| 亚洲人成人一区二区三区| 亚洲观看高清完整版在线观看| 91国偷自产一区二区三区观看| 国产麻豆午夜三级精品| 2023国产精品| 亚洲黄色免费| 免费观看日韩av| 欧美一区二区三区视频免费播放| www.成人在线| 中文字幕中文字幕一区| 国产精品五区| 精品一区二区精品| 欧美va亚洲va香蕉在线| 国产精品高清一区二区三区| 婷婷国产v国产偷v亚洲高清| 欧美挠脚心视频网站| av电影在线观看一区| 亚洲欧美激情小说另类| 欧美性一区二区| 成人黄页在线观看| 亚洲欧洲制服丝袜| 欧美午夜一区二区三区| 国产成人一区二区精品非洲| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚洲网站| 国产白丝精品91爽爽久久| 国产精品视频一区二区三区不卡| 国产亚洲福利| 国产成人午夜精品影院观看视频| 日韩美女啊v在线免费观看| 欧美午夜影院一区| 欧美精品一区在线发布| 日韩综合一区二区| 久久婷婷色综合| 欧美亚洲三级| jiyouzz国产精品久久| 亚洲精品老司机| 欧美久久一二区| 精品动漫av| 国产精品一区二区久久精品爱涩| 久久综合网色—综合色88| 亚洲一区二区动漫| 高清成人在线观看| 夜夜嗨av一区二区三区中文字幕| 日韩一区和二区| 亚洲一区二区三区免费观看| 成人免费毛片a| 亚洲欧洲成人精品av97| 欧美精品亚洲一区二区在线播放| 一区久久精品| 国产精品77777| 亚洲一卡二卡三卡四卡| 国产色综合久久| 欧美在线观看视频在线| 亚洲一级高清| 国产成人午夜精品影院观看视频 | 欧美精品九九| 国内一区二区视频| 夜夜嗨av一区二区三区中文字幕| 欧美精品一区二区高清在线观看| 亚洲成av人片在线观看| 日本一区二区高清| 欧美日韩精品一区二区三区| 黄色av日韩| 国产成人在线视频网站| 一区二区三区资源| 久久久国产一区二区三区四区小说 | 国产午夜亚洲精品理论片色戒 | 色婷婷综合视频在线观看| 国产一区二区三区四区老人| 国产专区综合网| 午夜激情综合网| 亚洲视频狠狠干| www激情久久| 欧美性videosxxxxx| 国产精品欧美久久| 国外精品视频|