中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站商城建設實訓心得企業(yè)培訓機構

網(wǎng)站商城建設實訓心得,企業(yè)培訓機構,網(wǎng)上做ps賺錢的網(wǎng)站,小程序開發(fā)小程序制作前言 對于做數(shù)據(jù)抓取的技術員來說,如何穩(wěn)定高效的爬取數(shù)據(jù)ip庫池起到?jīng)Q定性作用,對于爬蟲ip池的維護,可以從以下幾個方面入手: 目錄 一、驗證爬蟲ip的可用性二、更新爬蟲ip池三、維護爬蟲ip的質量四、監(jiān)控爬蟲ip的使用情況 一、驗…

前言

對于做數(shù)據(jù)抓取的技術員來說,如何穩(wěn)定高效的爬取數(shù)據(jù)ip庫池起到?jīng)Q定性作用,對于爬蟲ip池的維護,可以從以下幾個方面入手:

目錄

  • 一、驗證爬蟲ip的可用性
    • 二、更新爬蟲ip池
      • 三、維護爬蟲ip的質量
        • 四、監(jiān)控爬蟲ip的使用情況

一、驗證爬蟲ip的可用性

可以通過requests庫向目標網(wǎng)站發(fā)送請求,判斷爬蟲ip是否能夠成功返回響應。如果返回成功,則說明爬蟲ip可用,否則說明爬蟲ip已失效??梢栽诖a中設置超時時間,避免長時間等待無響應的爬蟲ip。

import requests
def check_proxy(proxy):try:response = requests.get(url, proxies=proxy, timeout=3)if response.status_code == 200:return Trueexcept:passreturn False

二、更新爬蟲ip池

可以通過定期爬取爬蟲ip網(wǎng)站或者購買付費爬蟲ip服務來獲取新的爬蟲ip??梢允褂胷equests庫向爬蟲ip網(wǎng)站發(fā)送請求,獲取HTML頁面,并使用BeautifulSoup庫解析HTML頁面,從而獲取爬蟲ip信息。通過一定的篩選規(guī)則,可以將新獲取的爬蟲ip加入到自有庫池中。

import requests
from bs4 import BeautifulSoup
def get_proxies():url = 'http://jshk.com.cn/'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}response = requests.get(url, headers=headers)soup = BeautifulSoup(response.text, 'html.parser')table = soup.find('table', {'id': 'ip_list'})tr_list = table.find_all('tr')proxies = []for tr in tr_list[1:]:td_list = tr.find_all('td')ip = td_list[1].textport = td_list[2].textprotocol = td_list[5].text.lower()proxy = '{}://{}:{}'.format(protocol, ip, port)proxies.append(proxy)return proxies

三、維護爬蟲ip的質量

可以通過一些指標來衡量爬蟲ip的質量,比如連接速度、響應時間、訪問成功率等??梢远〞r對爬蟲ip進行評估,篩選出質量較好的IP,并從爬蟲ip池中刪除質量較差的IP。

import requests
from multiprocessing import Pool
from functools import partial
def check_proxy_quality(proxy):try:response = requests.get(url, proxies=proxy, timeout=3)if response.status_code == 200:return True, response.elapsed.total_seconds()except:passreturn False, Nonedef evaluate_proxies(proxies):pool = Pool(processes=8)results = pool.map(partial(check_proxy_quality), proxies)pool.close()pool.join()quality_proxies = []for proxy, result in zip(proxies, results):is_valid, response_time = resultif is_valid:quality_proxies.append((proxy, response_time))return quality_proxies

四、監(jiān)控爬蟲ip的使用情況

對于監(jiān)控爬蟲ip的使用情況,一種比較簡單的方法是記錄每個爬蟲ip的使用次數(shù)和成功率,以便及時發(fā)現(xiàn)哪些爬蟲ip不再可用或者質量較差。

可以使用Python內(nèi)置的shelve模塊,將爬蟲ip的使用情況保存在一個本地文件中。shelve模塊可以提供類似字典的數(shù)據(jù)存儲方式,方便快捷地讀取和寫入數(shù)據(jù)。

import shelve
class ProxyManager:def __init__(self, filename='proxies.db'):self.filename = filenameself.proxies = shelve.open(filename, writeback=True)if not self.proxies.get('used_proxies'):self.proxies['used_proxies'] = {}def mark_as_used(self, proxy):if proxy in self.proxies:self.proxies[proxy]['used_times'] += 1self.proxies[proxy]['success_rate'] = self.proxies[proxy]['success_times'] / self.proxies[proxy]['used_times']else:self.proxies[proxy] = {'used_times': 1, 'success_times': 0, 'success_rate': 0}self.proxies['used_proxies'][proxy] = Truedef mark_as_success(self, proxy):if proxy in self.proxies:self.proxies[proxy]['success_times'] += 1self.proxies[proxy]['success_rate'] = self.proxies[proxy]['success_times'] / self.proxies[proxy]['used_times']else:self.proxies[proxy] = {'used_times': 1, 'success_times': 1, 'success_rate': 1}self.proxies['used_proxies'][proxy] = Truedef is_used(self, proxy):return self.proxies['used_proxies'].get(proxy)def close(self):self.proxies.close()

在使用爬蟲ip進行網(wǎng)絡請求時,可以先檢查該爬蟲ip是否已被使用過。如果該爬蟲ip已被使用過,則不再使用該爬蟲ip。如果該爬蟲ip未被使用過,則使用該爬蟲ip進行網(wǎng)絡請求,并在請求成功或失敗后,更新該爬蟲ip的使用情況。

def get_page(url, proxy_manager):for i in range(3):proxy = get_proxy(proxy_manager)if proxy:try:response = requests.get(url, proxies={'http': proxy, 'https': proxy}, timeout=3)if response.status_code == 200:proxy_manager.mark_as_success(proxy)return response.textexcept:passproxy_manager.mark_as_used(proxy)return None
def get_proxy(proxy_manager):proxies = list(proxy_manager.proxies.keys())for proxy in proxies:if not proxy_manager.is_used(proxy):return proxyreturn None

需要注意的是,shelve模塊的寫入操作可能比較耗時,如果爬蟲ip池較大,可以考慮每隔一段時間將爬蟲ip使用情況保存在本地文件中,以提高性能。同時,如果爬蟲ip池中存在較多已失效的爬蟲ip,證明這個池子的IP可用率已經(jīng)極低了,還是會更建議大家伙使用優(yōu)質廠商提供的爬蟲ip。

正常情況下,很多人會說隨著經(jīng)濟下行,能有使用的就已經(jīng)不錯了,還談什么自行車,且不談免費的爬蟲ip的連通性,實際上只要選對爬蟲ip,采購的成本也會在我們的承受范圍內(nèi)的。

http://www.risenshineclean.com/news/58909.html

相關文章:

  • 市體育局網(wǎng)站 兩學一做搜索引擎排名優(yōu)化公司
  • 免費營銷管理系統(tǒng)crm吉林網(wǎng)站seo
  • 做商城網(wǎng)站用什么框架常用的seo查詢工具
  • 網(wǎng)站后臺模板免費下載搜索引擎都有哪些
  • 土特產(chǎn)網(wǎng)站平臺建設南昌seo管理
  • 服務器架設國外做違法網(wǎng)站深圳百度seo公司
  • 網(wǎng)站系統(tǒng)升級維護需要多長時間百度端口開戶推廣
  • 網(wǎng)站排名靠前方法網(wǎng)絡營銷推廣的要點
  • 中國大搞建設hyein seo官網(wǎng)
  • 素材之家思億歐seo靠譜嗎
  • 排名做網(wǎng)站優(yōu)化免費自助建站平臺
  • 名表網(wǎng)站企業(yè)培訓心得體會
  • 大學培訓中心網(wǎng)站建設旅行網(wǎng)站排名前十名
  • 自助建站網(wǎng)站程序源碼做互聯(lián)網(wǎng)項目怎么推廣
  • 青島響應式網(wǎng)站開發(fā)病毒式營銷方法
  • 網(wǎng)絡服務器功能的概述技術優(yōu)化seo
  • 做網(wǎng)站怎么復制視頻鏈接網(wǎng)站自建
  • 網(wǎng)站建設公司大概多少錢長沙網(wǎng)站seo哪家公司好
  • 丹陽市制作網(wǎng)站南昌網(wǎng)站建設
  • 政府網(wǎng)站建設的創(chuàng)新機制企業(yè)網(wǎng)絡營銷
  • 無錫做網(wǎng)站品牌公司萬網(wǎng)注冊域名查詢官方網(wǎng)站
  • 做網(wǎng)站設計制作的公司口碑營銷案例2022
  • 做c語言的題目的網(wǎng)站移動廣告平臺
  • 域名有了主機有了如何做網(wǎng)站已備案域名30元
  • 哪里有專做水果的網(wǎng)站怎么建立網(wǎng)站?
  • 如何建立一個手機網(wǎng)站nba新聞最新消息滾動
  • 深圳有做網(wǎng)站的公司嗎seo 關鍵詞優(yōu)化
  • 網(wǎng)站備案照片人民網(wǎng) 疫情
  • 長春建站優(yōu)化加徽信xiala5百度網(wǎng)址怎么輸入?
  • 從音樂網(wǎng)站下載歌曲做鈴音要收費嗎最新軍事消息