最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲(chóng)簡(jiǎn)單運(yùn)用爬取代理IP的實(shí)現(xiàn)

 更新時(shí)間:2020年12月01日 11:41:21   作者:QQ128619  
這篇文章主要介紹了Python爬蟲(chóng)簡(jiǎn)單運(yùn)用爬取代理IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

功能1: 爬取西拉ip代理官網(wǎng)上的代理ip

環(huán)境:python3.8+pycharm
庫(kù):requests,lxml
瀏覽器:谷歌
IP地址:http://www.xiladaili.com/gaoni/

分析網(wǎng)頁(yè)源碼:

在這里插入圖片描述

選中div元素后右鍵找到Copy再深入子菜單找到Copy Xpath點(diǎn)擊一下就復(fù)制到XPath

在這里插入圖片描述

我們復(fù)制下來(lái)的Xpth內(nèi)容為:/html/body/div/div[3]/div[2]/table/tbody/tr[50]/td[1]
雖然可以查出來(lái)ip,但不利于程序自動(dòng)爬取所有IP,利用谷歌XpathHelp測(cè)試一下

在這里插入圖片描述

從上圖可以看出,只匹配到了一個(gè)Ip,我們稍作修改,即可達(dá)到目的
,有關(guān)xpath規(guī)則,可以參考下表;

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

經(jīng)過(guò)上面的規(guī)則學(xué)習(xí)后,我們修改為://*[@class=‘mt-0 mb-2 table-responsive']/table/tbody/tr/td[1],再利用xpthhelp工具驗(yàn)證一下:

在這里插入圖片描述

這樣我們就可以爬取整個(gè)頁(yè)面的Ip地址了,為了方便爬取更多的IP,我們繼續(xù)往下翻頁(yè),找到翻頁(yè)按鈕:

在這里插入圖片描述

找規(guī)律,發(fā)現(xiàn)每翻一頁(yè),a標(biāo)簽下的href連接地址加1即可,python程序可以利用for循環(huán)解決翻頁(yè)問(wèn)題即可。
為了提高IP代理的質(zhì)量,我們爬取評(píng)分高的IP來(lái)使用。找到評(píng)分欄下的Xpath路徑,這里不再做詳細(xì)介紹,思路參考上面找IP地址的思路,及XPath規(guī)則,過(guò)程參考下圖:

在這里插入圖片描述

Python代碼實(shí)現(xiàn)

代碼可復(fù)制粘貼直接使用,如果出現(xiàn)報(bào)錯(cuò),修改一下cookie。這里使用代理ip爬取,防止IP被封。當(dāng)然這里的代碼還是基礎(chǔ)的,有空可以寫(xiě)成代理池,多任務(wù)去爬。當(dāng)然還可以使用其它思路去實(shí)現(xiàn),這里只做入門(mén)介紹。當(dāng)有了這些代理IP后,我們可以用文件保存,或者保存到數(shù)據(jù)庫(kù)中,根據(jù)實(shí)際使用情況而定,這里不做保存,只放到列表變量中保存。

import requests
from lxml import etree
import time


class XiLaIp_Spider:

  def __init__(self):
    self.url = 'http://www.xiladaili.com/gaoni/'
    self.headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36',
      'cookie': 'td_cookie=1539882751; csrftoken=lymOXQp49maLMeKXS1byEMMmsavQPtOCOUwy6WIbfMNazZW80xKKA8RW2Zuo6ssy; Hm_lvt_31dfac66a938040b9bf68ee2294f9fa9=1592547159; Hm_lvt_9bfa8deaeafc6083c5e4683d7892f23d=1592535959,1592539254,1592612217; Hm_lpvt_9bfa8deaeafc6083c5e4683d7892f23d=1592612332',
    }
    self.proxy = '116.196.85.150:3128'
    self.proxies = {
      "http": "http://%(proxy)s/" % {'proxy': self.proxy},
      "https": "http://%(proxy)s/" % {'proxy': self.proxy}
    }
    self.list1 = []

  def get_url(self):
    file = open('Ip_Proxy.txt', 'a', encoding='utf-8')
    ok_file = open('OkIp_Proxy.txt', 'a', encoding='utf-8')
    for index in range(50):
      time.sleep(3)
      try:
        res = requests.get(url=self.url if index == 0 else self.url + str(index) + "/", headers=self.headers,
                  proxies=self.proxies, timeout=10).text
      except:
        continue
      data = etree.HTML(res).xpath("http://*[@class='mt-0 mb-2 table-responsive']/table/tbody/tr/td[1]")
      # '//*[@id="scroll"]/table/tbody/tr/td[1]'
      score_data = etree.HTML(res).xpath("http://*[@class='mt-0 mb-2 table-responsive']/table/tbody/tr/td[8]")
      for i, j in zip(data, score_data):
        # file.write(i.text + '\n')
        score = int(j.text)
        # 追加評(píng)分率大于十萬(wàn)的ip
        if score > 100000:
          self.list1.append(i.text)
      set(self.list1)
    file.close()
    ok_ip = []
    for i in self.list1:
      try:
        # 驗(yàn)證代理ip是否有效
        res = requests.get(url='https://www.baidu.com', headers=self.headers, proxies={'http': 'http://' + i},
                  timeout=10)
        if res.status_code == 200:
          # ok_file.write(i + '\n')
          ok_ip.append(i)
      except:
        continue
    ok_file.close()
    return ok_ip

  def run(self):
    return self.get_url()


dl = XiLaIp_Spider()
dl.run()

到此這篇關(guān)于Python爬蟲(chóng)簡(jiǎn)單運(yùn)用爬取代理IP的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 爬取代理IP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法

    python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法

    這篇文章主要介紹了python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python中的基本數(shù)據(jù)類(lèi)型介紹

    Python中的基本數(shù)據(jù)類(lèi)型介紹

    這篇文章介紹了Python中的基本數(shù)據(jù)類(lèi)型,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python numpy數(shù)組中的復(fù)制知識(shí)解析

    python numpy數(shù)組中的復(fù)制知識(shí)解析

    這篇文章主要介紹了python numpy數(shù)組中的復(fù)制知識(shí)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python編譯過(guò)程和執(zhí)行原理解析

    Python編譯過(guò)程和執(zhí)行原理解析

    這篇文章主要介紹了Python編譯過(guò)程和執(zhí)行原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • pandas 顛倒列順序的兩種解決方案

    pandas 顛倒列順序的兩種解決方案

    這篇文章主要介紹了pandas 顛倒列順序的兩種解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python?echarts實(shí)現(xiàn)數(shù)據(jù)可視化實(shí)例詳解

    Python?echarts實(shí)現(xiàn)數(shù)據(jù)可視化實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Python?echarts實(shí)現(xiàn)數(shù)據(jù)可視化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • python中enumerate函數(shù)用法實(shí)例分析

    python中enumerate函數(shù)用法實(shí)例分析

    這篇文章主要介紹了python中enumerate函數(shù)用法,以實(shí)例形式較為詳細(xì)的分析了enumerate函數(shù)的功能、定義及使用技巧,需要的朋友可以參考下
    2015-05-05
  • python庫(kù)JsonSchema驗(yàn)證JSON數(shù)據(jù)結(jié)構(gòu)使用詳解

    python庫(kù)JsonSchema驗(yàn)證JSON數(shù)據(jù)結(jié)構(gòu)使用詳解

    這篇文章主要為大家介紹了python庫(kù)JsonSchema驗(yàn)證JSON數(shù)據(jù)結(jié)構(gòu)的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python 中sys.getsizeof的用法說(shuō)明

    python 中sys.getsizeof的用法說(shuō)明

    這篇文章主要介紹了python 中sys.getsizeof的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • django 中QuerySet特性功能詳解

    django 中QuerySet特性功能詳解

    這篇文章主要介紹了django 中QuerySet特性功能詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

阳东县| 平塘县| 安平县| 庐江县| 鸡东县| 大关县| 北宁市| 稻城县| 永济市| 临桂县| 赤城县| 遵化市| 旬邑县| 沙坪坝区| 手游| 比如县| 横山县| 聂拉木县| 清丰县| 通化市| 东至县| 东乡县| 芮城县| 蒙城县| 新干县| 五大连池市| 霍山县| 耿马| 陇川县| 桓台县| 措美县| 循化| 遂宁市| 客服| 陵水| 霍邱县| 彭山县| 时尚| 晋城| 江源县| 宁武县|