日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python爬蟲構(gòu)建代理ip池抓取數(shù)據(jù)庫的示例代碼

瀏覽:31日期:2022-07-10 13:18:57

爬蟲的小伙伴,肯定經(jīng)常遇到ip被封的情況,而現(xiàn)在網(wǎng)絡(luò)上的代理ip免費的已經(jīng)很難找了,那么現(xiàn)在就用python的requests庫從爬取代理ip,創(chuàng)建一個ip代理池,以備使用。

本代碼包括ip的爬取,檢測是否可用,可用保存,通過函數(shù)get_proxies可以獲得ip,如:{’HTTPS’: ’106.12.7.54:8118’}

下面放上源代碼,并詳細注釋:

import requestsfrom lxml import etreefrom requests.packages import urllib3import random, time urllib3.disable_warnings() def spider(pages, max_change_porxies_times=300): ''' 抓取 XiciDaili.com 的 http類型-代理ip-和端口號 將所有抓取的ip存入 raw_ips.csv 待處理, 可用 check_proxies() 檢查爬取到的代理ip是否可用 ----- :param pages:要抓取多少頁 :return:無返回 ''' s = requests.session() s.trust_env = False s.verify = False urls =com/nn/{}’ proxies = {} try_times = 0 for i in range(pages): url = urls.format(i + 1) s.headers = { ’Accept’: ’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8’, ’Accept-Encoding’: ’gzip, deflate, br’, ’Accept-Language’: ’zh-CN,zh;q=0.9’, ’Connection’: ’keep-alive’, ’Referer’: urls.format(i if i > 0 else ’’), ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36’} while True: content = s.get(url, headers=s.headers, proxies=proxies) time.sleep(random.uniform(1.5, 4)) # 每讀取一次頁面暫停一會,否則會被封 if content.status_code == 503: # 如果503則ip被封,就更換ipproxies = get_proxies()try_times += 1print(f’第{str(try_times):0>3s}次變更,當前{proxies}’)if try_times > max_change_porxies_times: print(’超過最大嘗試次數(shù),連接失敗!’) return -1continue else:break # 如果返回碼是200 ,就跳出while循環(huán),對爬取的頁面進行處理 print(f’正在抓取第{i+1}頁數(shù)據(jù),共{pages}頁’) for j in range(2, 102): # 用簡單的xpath提取http,host和port tree = etree.HTML(content.text) http = tree.xpath(f’//table[@id='ip_list']/tr[{j}]/td[6]/text()’)[0] host = tree.xpath(f’//table[@id='ip_list']/tr[{j}]/td[2]/text()’)[0] port = tree.xpath(f’//table[@id='ip_list']/tr[{j}]/td[3]/text()’)[0] check_proxies(http, host, port) # 檢查提取的代理ip是否可用 def check_proxies(http, host, port, test_url=’http://www.baidu.com’): ''' 檢測給定的ip信息是否可用 根據(jù)http,host,port組成proxies,對test_url進行連接測試,如果通過,則保存在 ips_pool.csv 中 :param http: 傳輸協(xié)議類型 :param host: 主機 :param port: 端口號 :param test_url: 測試ip :return: None ''' proxies = {http: host + ’:’ + port} try: res = requests.get(test_url, proxies=proxies, timeout=2) if res.status_code == 200: print(f’{proxies}檢測通過’) with open(’ips_pool.csv’, ’a+’) as f:f.write(’,’.join([http, host, port]) + ’n’) except Exception as e: # 檢測不通過,就不保存,別讓報錯打斷程序 print(e) def check_local_ip(fn, test_url): ''' 檢查存放在本地ip池的代理ip是否可用 通過讀取fn內(nèi)容,加載每一條ip對test_url進行連接測試,鏈接成功則儲存在 ips_pool.csv 文件中 :param fn: filename,儲存代理ip的文件名 :param test_url: 要進行測試的ip :return: None ''' with open(fn, ’r’) as f: datas = f.readlines() ip_pools = [] for data in datas: # time.sleep(1) ip_msg = data.strip().split(’,’) http = ip_msg[0] host = ip_msg[1] port = ip_msg[2] proxies = {http: host + ’:’ + port} try: res = requests.get(test_url, proxies=proxies, timeout=2) if res.status_code == 200:ip_pools.append(data)print(f’{proxies}檢測通過’)with open(’ips_pool.csv’, ’a+’) as f: f.write(’,’.join([http, host, port]) + ’n’) except Exception as e: print(e) continue def get_proxies(ip_pool_name=’ips_pool.csv’): ''' 從ip池獲得一個隨機的代理ip :param ip_pool_name: str,存放ip池的文件名, :return: 返回一個proxies字典,形如:{’HTTPS’: ’106.12.7.54:8118’} ''' with open(ip_pool_name, ’r’) as f: datas = f.readlines() ran_num = random.choice(datas) ip = ran_num.strip().split(’,’) proxies = {ip[0]: ip[1] + ’:’ + ip[2]} return proxies if __name__ == ’__main__’: t1 = time.time() spider(pages=3400) t2 = time.time() print(’抓取完畢,時間:’, t2 - t1) # check_local_ip(’raw_ips.csv’,’http://www.baidu.com’)

以上就是python爬蟲構(gòu)建代理ip池抓取數(shù)據(jù)庫的示例代碼的詳細內(nèi)容,更多關(guān)于python爬蟲構(gòu)建代理ip池的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产a亚洲精品| 国产在线一区不卡| 国产精品久久久久久久久妇女| 日韩欧美不卡| 欧美精品资源| 日韩黄色大片网站| 在线亚洲国产精品网站| 日韩久久电影| 鲁大师影院一区二区三区| 国产精品免费看| 国产精品sss在线观看av| 激情综合网站| 亚洲神马久久| 中文字幕日韩欧美精品高清在线| 国产精品亚洲四区在线观看| 亚洲天堂一区二区| 999在线观看精品免费不卡网站| 国产精品色网| 亚洲自拍另类| 天堂av一区| 亚洲人成在线影院| 一二三区精品| 欧美另类中文字幕| 国产精品第一国产精品| 欧美13videosex性极品| 欧美日韩一区二区三区不卡视频| 乱人伦精品视频在线观看| 成人久久一区| 国产亚洲一级| 亚洲综合日本| 激情综合激情| 精品久久电影| 国产成人久久精品麻豆二区| 美美哒免费高清在线观看视频一区二区| 最新中文字幕在线播放 | 亚洲欧洲午夜| 蜜桃久久久久久| 日本一区中文字幕| 日韩av字幕| 国产精品日韩精品中文字幕| 国产高清视频一区二区| 免费的成人av| 久久成人亚洲| 日韩精品中文字幕一区二区| 欧美黄色一区| 亚洲香蕉视频| 欧美黄页在线免费观看| 伊人久久婷婷| 久久永久免费| 日韩在线精品| 国精品产品一区| 日韩不卡免费视频| 亚洲一区二区动漫| 好看的av在线不卡观看| 蜜臀91精品国产高清在线观看| 久久久久观看| 91福利精品在线观看| 午夜国产精品视频免费体验区| 亚洲精品1区| 1024精品一区二区三区| 成人国产精品一区二区网站| 欧美国产先锋| 精品视频在线一区二区在线| 亚洲日本免费电影| 国产999精品在线观看| 精品美女久久| 亚洲精品一区二区在线看| 日韩中文字幕无砖| 午夜视频一区二区在线观看| 亚洲福利免费| 免费精品国产| 日韩国产91| 日韩成人三级| 免费在线观看一区二区三区| 久久免费精品| 国产成人精品一区二区免费看京 | 精品黄色一级片| 欧美日韩一区自拍| 婷婷亚洲成人| 中文精品视频| 欧美成人日韩| 国产精品麻豆久久| 免费亚洲婷婷| 婷婷成人在线| 麻豆国产精品777777在线| 成人av三级| 超碰在线99| 91亚洲国产成人久久精品| 高清一区二区| 91日韩免费| 麻豆精品视频在线观看| 激情视频一区二区三区| 日本精品不卡| 久久精品国产网站| 欧美激情日韩| 色婷婷成人网| 久久久久午夜电影| 精品一区二区男人吃奶 | 免费看黄色91| 中文字幕日韩高清在线| 亚洲日本免费电影| 免费视频最近日韩| 亚洲1234区| 欧美一区免费| 国产一级一区二区| 国产精品视频首页| 中文字幕在线视频久| 四虎4545www国产精品| 国产精选在线| 国产一区二区精品福利地址| 中文无码久久精品| 亚洲高清成人| 亚洲v天堂v手机在线| 色爱综合网欧美| 亚洲午夜电影| 日韩精品国产欧美| 国产色噜噜噜91在线精品| 日韩啪啪电影网| 久久精品高清| 亚洲精品美女91| 亚洲二区视频| 亚洲欧美专区| 91久久精品无嫩草影院| 欧美xxxx中国| 欧美精品一线| 99亚洲精品| 国产精品亚洲一区二区在线观看| 国产九一精品| 欧美精品福利| 国产一区二区三区成人欧美日韩在线观看| 久久久久亚洲精品中文字幕| 精品视频在线一区二区在线| 日韩精品水蜜桃| 亚州精品视频| 伊人影院久久| 爽好多水快深点欧美视频| 亚洲无线观看| 欧美在线看片| 青青国产精品| 免费人成精品欧美精品| 久久av在线| 蜜臀久久99精品久久一区二区| 欧美不卡高清一区二区三区| 久久99久久久精品欧美| 日韩午夜视频在线| 日韩毛片视频| 国产精品v一区二区三区| 日日夜夜免费精品视频| 国产精品亚洲欧美一级在线| 精品久久亚洲| 2023国产精品久久久精品双| 亚洲一区有码| 另类欧美日韩国产在线| 久久国产免费| 日韩精品欧美大片| 国产精品三级| 欧洲在线一区| 午夜天堂精品久久久久| 国产成人精品一区二区三区在线| 欧美日韩国产一区二区三区不卡 | 国产在线观看www| 欧美特黄一区| 日韩国产精品久久久| 伊人久久在线| 日韩精品视频在线看| 99精品网站| 日韩精品国产欧美| 99久久久久| 久久久国产精品网站| 日韩中文字幕麻豆| 美女网站视频一区| 国产日本精品| 日韩精品一级二级 | 久久久国产亚洲精品| 国产激情一区| 久久爱www.| 国产精品99一区二区三| 日韩久久精品| 亚洲综合婷婷| 在线亚洲国产精品网站| 视频一区视频二区中文字幕| 日韩一区二区三区精品视频第3页| 欧美丝袜一区| 日韩精品1区2区3区| 欧美不卡高清一区二区三区| 久久一区精品| 精品日产乱码久久久久久仙踪林| 国产欧美日韩精品高清二区综合区 | 国产麻豆精品| 黄色免费成人| 久久蜜桃av| 狠狠爱成人网| 亚洲欧美日韩国产| 国产专区一区| 亚洲精品看片| 国产精品白浆| 精品中文字幕一区二区三区| 免费在线播放第一区高清av| 精品视频网站| 亚洲风情在线资源|