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

python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器

 更新時間:2021年04月26日 10:19:36   作者:世界的隱喻  
這篇文章主要介紹了python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下

簡易網(wǎng)頁搜集器

前面我們已經(jīng)學(xué)會了簡單爬取瀏覽器頁面的爬蟲。但事實(shí)上我們的需求當(dāng)然不是爬取搜狗首頁或是B站首頁這么簡單,再不濟(jì),我們都希望可以爬取某個特定的有信息的頁面。

不知道在學(xué)會了爬取之后,你有沒有跟我一樣試著去爬取一些搜索頁面,比如說百度。像這樣的頁面

在這里插入圖片描述

注意我紅筆劃的部分,這是我打開的網(wǎng)頁?,F(xiàn)在我希望能爬取這一頁的數(shù)據(jù),按我們前面學(xué)的代碼,應(yīng)該是這樣寫的:

import requests

if __name__ == "__main__":
    # 指定URL
    url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=93923645_hao_pg&wd=%E5%A5%A5%E7%89%B9%E6%9B%BC&rsv_spt=1&oq=%25E7%2588%25AC%25E5%258F%2596%25E7%2599%25BE%25E5%25BA%25A6%25E9%25A6%2596%25E9%25A1%25B5&rsv_pq=b233dcfd0002d2d8&rsv_t=ccdbEuqbJfqtjnkFvevj%2BfxQ0Sj2UP88ixXHTNUNsmTa9yWEWTUEgxTta9r%2Fj3mXxDs%2BT1SU&rqlang=cn&rsv_dl=tb&rsv_enter=1&rsv_sug3=8&rsv_sug1=5&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=1424&rsv_sug4=1424"

    # 發(fā)送請求
    response = requests.get(url)

    # 獲取數(shù)據(jù)
    page_text = response.text

    # 存儲
    with open("./奧特曼.html", "w", encoding = "utf-8") as fp:
        fp.write(page_text)

    print("爬取成功?。。?)

然而打開我們保存的文件,發(fā)現(xiàn)結(jié)果跟我們想的不太一樣

在這里插入圖片描述

我們發(fā)現(xiàn)我們保存的文件是一個空白的頁面,這是為什么呢?

其實(shí)上我們把網(wǎng)址改成搜狗的可能或更直觀一些(不知道為什么我這邊的搜狗總是打不開,所以就用百度做例子,可以自己寫寫有關(guān)搜狗搜索的代碼),同樣的代碼改成搜狗的網(wǎng)址結(jié)果是這樣的

在這里插入圖片描述

我們發(fā)現(xiàn)其中有句話是 “ 網(wǎng)絡(luò)中存在異常訪問 ”,那么這句話是什么意思呢?

這句話的意思就是說,搜狗或是百度注意到發(fā)送請求的是爬蟲程序,而不是人工操作。

那么這其中的原理又是什么呢?

簡單來說,就是程序訪問和我們使用瀏覽器訪問是有區(qū)別的,被請求的服務(wù)器都是靠 user-agent 來判斷訪問者的身份,如果是瀏覽器就接受請求,否則就拒絕。這就是一個很常見的反爬機(jī)制。

那是不是我們就沒有辦法呢?

非也~所謂魔高一尺,道高一丈。既然要識別 user-agent ,那么我們就讓爬蟲模擬 user-agent 好了。

在 python 中模擬輸入數(shù)據(jù)或是 user-agent ,我們一般用字典

就這樣子寫:

header = {
	"user-agent": "" # user-agent 的值 是一個長字符串
	}

那么 user-agent 的值又是怎么得到的呢?

1. 打開任意網(wǎng)頁,右鍵點(diǎn)擊,選擇“檢查”

2. 選擇“ Network ”(谷歌瀏覽器)(如果是中文,就選擇 “網(wǎng)絡(luò)” 這一項(xiàng))

在這里插入圖片描述

3. 如果發(fā)現(xiàn)點(diǎn)開是空白的,像這樣,那就刷新網(wǎng)頁

在這里插入圖片描述

刷新后是這樣的:

在這里插入圖片描述

然后隨機(jī)選擇紅筆圈起來的一項(xiàng),我們會看到這樣的東西,然后在里面找到“user-agent”,把它的值復(fù)制下來就行了

在這里插入圖片描述

有了 “user-agent”, 我們在重新寫我們的爬取網(wǎng)頁的代碼,就可以了

import requests

if __name__ == "__main__":
    # 指定URL
    url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=93923645_hao_pg&wd=%E5%A5%A5%E7%89%B9%E6%9B%BC&rsv_spt=1&oq=%25E7%2588%25AC%25E5%258F%2596%25E7%2599%25BE%25E5%25BA%25A6%25E9%25A6%2596%25E9%25A1%25B5&rsv_pq=b233dcfd0002d2d8&rsv_t=ccdbEuqbJfqtjnkFvevj%2BfxQ0Sj2UP88ixXHTNUNsmTa9yWEWTUEgxTta9r%2Fj3mXxDs%2BT1SU&rqlang=cn&rsv_dl=tb&rsv_enter=1&rsv_sug3=8&rsv_sug1=5&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=1424&rsv_sug4=1424"

    # 模擬 “user-agent”,即 UA偽裝
    header = {
        "user-agent" : "" # 復(fù)制的 user-agent 的值
        }
    # 發(fā)送請求
    response = requests.get(url, headers = header)

    # 獲取數(shù)據(jù)
    page_text = response.text

    # 存儲
    with open("./奧特曼(UA偽裝).html", "w", encoding = "utf-8") as fp:
        fp.write(page_text)

    print("爬取成功?。?!")

再次運(yùn)行,然后打開文件

在這里插入圖片描述

這次成功了,說明我們的爬蟲程序完美地騙過了服務(wù)器

到此這篇關(guān)于python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器的文章就介紹到這了,更多相關(guān)python網(wǎng)頁搜集器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python處理命令行參數(shù)模塊optpars用法實(shí)例分析

    Python處理命令行參數(shù)模塊optpars用法實(shí)例分析

    這篇文章主要介紹了Python處理命令行參數(shù)模塊optpars用法,結(jié)合實(shí)例形式分析了optpars模塊的功能,Python使用optpars模塊設(shè)置命令行參數(shù)相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • python運(yùn)用pygame庫實(shí)現(xiàn)雙人彈球小游戲

    python運(yùn)用pygame庫實(shí)現(xiàn)雙人彈球小游戲

    這篇文章主要為大家詳細(xì)介紹了python運(yùn)用pygame庫實(shí)現(xiàn)雙人彈球小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python知識之列表的十個小技巧分享

    Python知識之列表的十個小技巧分享

    這篇文章主要介紹了Python知識之列表的十個小技巧分享,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python基礎(chǔ)教程之輸入輸出和運(yùn)算符

    Python基礎(chǔ)教程之輸入輸出和運(yùn)算符

    這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之輸入輸出和運(yùn)算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python Opencv實(shí)現(xiàn)最強(qiáng)美顏濾鏡效果

    Python Opencv實(shí)現(xiàn)最強(qiáng)美顏濾鏡效果

    這篇文章主要介紹了如何利用Python OpenCV制作一個強(qiáng)大的美顏濾鏡效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-03-03
  • python查看自己安裝的所有庫并導(dǎo)出的命令

    python查看自己安裝的所有庫并導(dǎo)出的命令

    這篇文章主要介紹了python查看自己安裝的所有庫并導(dǎo)出,主要包括查看安裝的庫通過命令查詢,導(dǎo)出庫安裝文件執(zhí)行命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python圖像處理之圖片文字識別功能(OCR)

    Python圖像處理之圖片文字識別功能(OCR)

    Tesseract 是一個OCR 庫,目前由Google 贊助(Google 也是一家以O(shè)CR 和機(jī)器學(xué)習(xí)技術(shù)聞名于世的公司)。這篇文章主要介紹了Python圖像處理之圖片文字識別功能 OCR的相關(guān)知識,需要的朋友可以參考下
    2019-07-07
  • Django展示可視化圖表的多種方式

    Django展示可視化圖表的多種方式

    這篇文章主要介紹了Django展示可視化圖表的多種方式,幫助大家更好的理解和學(xué)習(xí)使用django框架,感興趣的朋友可以了解下
    2021-04-04
  • 使用python爬蟲實(shí)現(xiàn)網(wǎng)絡(luò)股票信息爬取的demo

    使用python爬蟲實(shí)現(xiàn)網(wǎng)絡(luò)股票信息爬取的demo

    下面小編就為大家分享一篇使用python爬蟲實(shí)現(xiàn)網(wǎng)絡(luò)股票信息爬取的demo,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • python爬蟲 Pyppeteer使用方法解析

    python爬蟲 Pyppeteer使用方法解析

    這篇文章主要介紹了python爬蟲 Pyppeteer使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09

最新評論

沈阳市| 许昌县| 平定县| 西畴县| 威海市| 鄂伦春自治旗| 绵竹市| 金寨县| 长白| 平乐县| 广宁县| 丰城市| 辽阳市| 普格县| 曲松县| 项城市| 临夏市| 大庆市| 蓬安县| 平阳县| 澜沧| 独山县| 双辽市| 孟津县| 华容县| 鄢陵县| 精河县| 资兴市| 保定市| 岳普湖县| 石阡县| 青州市| 车险| 汉川市| 云南省| 奉节县| 垫江县| 冀州市| 广宗县| 迁西县| 闻喜县|