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

PyHacker編寫URL批量采集器

 更新時(shí)間:2022年05月14日 14:34:02   作者:巡安似海  
這篇文章主要為大家介紹了SpringBoot整合VUE?EasyExcel實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

喜歡用Python寫腳本的小伙伴可以跟著一起寫一寫呀。

編寫環(huán)境:Python2.x

00x1:需要用到的模塊

需要用到的模塊如下:

import requests
import re

本文將用re正則進(jìn)行講解,如果你用Xpath也可以

00x2:選取搜索引擎

首先我們要選取搜索引擎(其他搜索引擎原理相同)

以bing為例:Cn.bing.com

首先分析bing翻頁機(jī)制:

https://cn.bing.com/search?q=內(nèi)容&first=0 第一頁
https://cn.bing.com/search?q=內(nèi)容&first=10 第二頁
https://cn.bing.com/search?q=內(nèi)容&first=20 第三頁

頁數(shù) = First*10

分析完畢,我們來請(qǐng)求看一下

def req():
    url = 'https://cn.bing.com/search?q=小陳&first=0'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'}
    req = requests.get(url,headers=headers)
    html = req.content
    print html

Ok,沒毛病

00x3:分析需要采集的url

分析需要采集的url在哪個(gè)位置

得出正則:(.*?)

正則表達(dá)式學(xué)習(xí):(百度搜:python 正則表達(dá)式)

def reurl():
    urlr = r'<cite>(.*?)</cite>'
    reurl = re.findall(urlr,html)
    print reurl

就在我請(qǐng)求第二頁的時(shí)候發(fā)現(xiàn)了問題

可以看到請(qǐng)求內(nèi)容和第一頁一樣,有某種驗(yàn)證機(jī)制

一般情況下驗(yàn)證機(jī)制,表示特定參數(shù)

經(jīng)過多次測試,發(fā)現(xiàn)缺少 Cookie: _EDGE_V=1;

請(qǐng)求正常,大致已經(jīng)完成

接下來只需要給關(guān)鍵詞和頁數(shù)變量就ok了

00x4:搜索

再搜索site:baidu.com 又出現(xiàn)了問題

于是修改正則為:

'target="_blank" href="(http.*?\..*?\..*?)" h="'

有很多我們不想要的結(jié)果,我們?cè)賮肀闅v下采集的urls

做一下處理

正則為:

(http[s]?://.*?)/

代碼為:

def url():
    for url in urls:
        urlr = r'(http[s]?://.*?)/'
        url = re.findall(urlr,url)
        print url

print url 改為 print url[0] 再進(jìn)行處理一下

可以看到下面還有重復(fù)的url,對(duì)url去重一下

def qc():#去重復(fù)
    for url in url_ok:
        if url in url_bing:
            continue
        url_bing.append(url)

00x5:自動(dòng)保存

接下來我們要讓他自動(dòng)保存到url_bing.txt

with open('url_bing.txt','a+')as f:
    for url in url_bing:
        print url
        f.write(url+"\n")
    print "Save as url_bing.txt"

00x6:完整代碼

 
#!/usr/bin/python
#-*- coding:utf-8 -*-
import requests
import re
urls = []
url_ok = []
url_bing=[]
def req(q,first):
    global html
    url = 'https://cn.bing.com/search?q=%s&first=%s'%(q,first)
    print url
    headers = {
        'Host':'cn.bing.com',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
        'Cookie': '_EDGE_V=1;'
    }
    req = requests.get(url,headers=headers)
    html = req.content
def reurl():#正則匹配url
    urlr = r'target="_blank" href="(http.*?\..*?\..*?)" h="'
    reurl = re.findall(urlr,html)
    for url in reurl:
        if url not in urls:
            urls.append(url)
def url():#url二次處理
    for url in urls:
        urlr = r'(http[s]?://.*?)/'
        url = re.findall(urlr,url)
        url_ok.append(url[0])
def qc():#去重復(fù)
    for url in url_ok:
        if url in url_bing:
            continue
        url_bing.append(url)
if __name__ == '__main__':
    q = raw_input('\nkey:')
    page = input('page:')
    for first in range(0, page):
        req(q, first * 10)
        reurl()
    url()
    qc()
    with open('url_bing.txt','a+')as f:
        for url in url_bing:
            print url
            f.write(url+"\n")
        print "Save as url_bing.txt"

以上就是PyHacker編寫URL批量采集器的詳細(xì)內(nèi)容,更多關(guān)于PyHacker批量采集URL的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • centos 安裝Python3 及對(duì)應(yīng)的pip教程詳解

    centos 安裝Python3 及對(duì)應(yīng)的pip教程詳解

    這篇文章主要介紹了centos 安裝Python3 及對(duì)應(yīng)的pip的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • django中send_mail功能實(shí)現(xiàn)詳解

    django中send_mail功能實(shí)現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于django中send_mail功能實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • python中format函數(shù)如何使用

    python中format函數(shù)如何使用

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python的format函數(shù)用法以及相關(guān)實(shí)例,需要的朋友們學(xué)習(xí)下。
    2020-06-06
  • Python基礎(chǔ)教程之pip的安裝和卸載

    Python基礎(chǔ)教程之pip的安裝和卸載

    pip是一種工具,可以幫助用戶安裝卸載一些需要的安裝包,非常的簡單實(shí)用,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之pip的安裝和卸載的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 關(guān)于Python中空格字符串處理的技巧總結(jié)

    關(guān)于Python中空格字符串處理的技巧總結(jié)

    在我們?nèi)粘9ぷ髦薪?jīng)常會(huì)遇到字符串處理,大家應(yīng)該都不陌生,但空格字符串呢?會(huì)不會(huì)就不太熟悉了呢?所以下面這篇文章就來給大家總結(jié)了關(guān)于Python中空格字符串處理的技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • python中的單引號(hào)雙引號(hào)區(qū)別知識(shí)點(diǎn)總結(jié)

    python中的單引號(hào)雙引號(hào)區(qū)別知識(shí)點(diǎn)總結(jié)

    在本篇文章中小編給大家整理了關(guān)于python中的單引號(hào)雙引號(hào)有什么區(qū)別的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-06-06
  • Pytorch限制或增加CPU使用的核數(shù)方式

    Pytorch限制或增加CPU使用的核數(shù)方式

    這篇文章主要介紹了Pytorch限制或增加CPU使用的核數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 如何讓利用Python+AI使靜態(tài)圖片動(dòng)起來

    如何讓利用Python+AI使靜態(tài)圖片動(dòng)起來

    這篇文章主要介紹了如何讓利用Python+AI使靜態(tài)圖片動(dòng)起來,基于的GAN生成對(duì)抗網(wǎng)絡(luò)圍繞主題實(shí)現(xiàn)靜態(tài)圖片動(dòng)起來的效果。具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測試詳解

    Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測試詳解

    這篇文章主要介紹了Python+appium框架原生代碼實(shí)現(xiàn)App自動(dòng)化測試詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python pdfkit 中文亂碼問題的解決方案

    python pdfkit 中文亂碼問題的解決方案

    這篇文章主要介紹了python pdfkit 中文亂碼問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論

河北省| 揭阳市| 昭觉县| 西平县| 云和县| 江川县| 安吉县| 福建省| 梨树县| 吴堡县| 平乡县| 长乐市| 靖江市| 阿拉尔市| 彰武县| 咸丰县| 黔西| 富裕县| 泗洪县| 永春县| 九寨沟县| 尼玛县| 湛江市| 丰都县| 龙陵县| 同仁县| 巴中市| 当涂县| 司法| 灵石县| 固安县| 呼和浩特市| 达孜县| 伊川县| 双城市| 景宁| 固安县| 攀枝花市| 广昌县| 西安市| 大悟县|