婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器

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

熱門(mén)標(biāo)簽:南京銷售外呼系統(tǒng)軟件 蓋州市地圖標(biāo)注 地圖標(biāo)注的意義點(diǎn) 地圖標(biāo)注微信發(fā)送位置不顯示 浙江電銷卡外呼系統(tǒng)好用嗎 房產(chǎn)電銷外呼系統(tǒng) 地圖制圖標(biāo)注位置改變是移位嗎 上海機(jī)器人外呼系統(tǒng)哪家好 315電話機(jī)器人廣告

簡(jiǎn)易網(wǎng)頁(yè)搜集器

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

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

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

import requests

if __name__ == "__main__":
    # 指定URL
    url = "https://www.baidu.com/s?ie=utf-8f=8rsv_bp=1rsv_idx=2tn=93923645_hao_pgwd=%E5%A5%A5%E7%89%B9%E6%9B%BCrsv_spt=1oq=%25E7%2588%25AC%25E5%258F%2596%25E7%2599%25BE%25E5%25BA%25A6%25E9%25A6%2596%25E9%25A1%25B5rsv_pq=b233dcfd0002d2d8rsv_t=ccdbEuqbJfqtjnkFvevj%2BfxQ0Sj2UP88ixXHTNUNsmTa9yWEWTUEgxTta9r%2Fj3mXxDs%2BT1SUrqlang=cnrsv_dl=tbrsv_enter=1rsv_sug3=8rsv_sug1=5rsv_sug7=100rsv_sug2=0rsv_btype=tinputT=1424rsv_sug4=1424"

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

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

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

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

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

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

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

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

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

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

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

那是不是我們就沒(méi)有辦法呢?

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

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

就這樣子寫(xiě):

header = {
	"user-agent": "" # user-agent 的值 是一個(gè)長(zhǎng)字符串
	}

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

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

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

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

刷新后是這樣的:

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

有了 “user-agent”, 我們?cè)谥匦聦?xiě)我們的爬取網(wǎng)頁(yè)的代碼,就可以了

import requests

if __name__ == "__main__":
    # 指定URL
    url = "https://www.baidu.com/s?ie=utf-8f=8rsv_bp=1rsv_idx=2tn=93923645_hao_pgwd=%E5%A5%A5%E7%89%B9%E6%9B%BCrsv_spt=1oq=%25E7%2588%25AC%25E5%258F%2596%25E7%2599%25BE%25E5%25BA%25A6%25E9%25A6%2596%25E9%25A1%25B5rsv_pq=b233dcfd0002d2d8rsv_t=ccdbEuqbJfqtjnkFvevj%2BfxQ0Sj2UP88ixXHTNUNsmTa9yWEWTUEgxTta9r%2Fj3mXxDs%2BT1SUrqlang=cnrsv_dl=tbrsv_enter=1rsv_sug3=8rsv_sug1=5rsv_sug7=100rsv_sug2=0rsv_btype=tinputT=1424rsv_sug4=1424"

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

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

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

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

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

這次成功了,說(shuō)明我們的爬蟲(chóng)程序完美地騙過(guò)了服務(wù)器

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

您可能感興趣的文章:
  • Python中利用aiohttp制作異步爬蟲(chóng)及簡(jiǎn)單應(yīng)用
  • Python爬蟲(chóng)之線程池的使用
  • python基礎(chǔ)之爬蟲(chóng)入門(mén)
  • python爬蟲(chóng)請(qǐng)求庫(kù)httpx和parsel解析庫(kù)的使用測(cè)評(píng)
  • Python爬蟲(chóng)之爬取最新更新的小說(shuō)網(wǎng)站
  • 用Python爬蟲(chóng)破解滑動(dòng)驗(yàn)證碼的案例解析
  • Python爬蟲(chóng)之必備chardet庫(kù)
  • Python爬蟲(chóng)框架-scrapy的使用
  • Python爬蟲(chóng)之爬取二手房信息
  • python爬蟲(chóng)之爬取百度翻譯
  • Django利用Cookie實(shí)現(xiàn)反爬蟲(chóng)的例子
  • python爬蟲(chóng)之生活常識(shí)解答機(jī)器人
  • Python異步爬蟲(chóng)實(shí)現(xiàn)原理與知識(shí)總結(jié)

標(biāo)簽:克拉瑪依 臨汾 雙鴨山 赤峰 陽(yáng)泉 金華 貴州 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器》,本文關(guān)鍵詞  python,爬蟲(chóng),基礎(chǔ),之,簡(jiǎn)易,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 海阳市| 鹤山市| 巴里| 隆林| 许昌市| 象州县| 内江市| 宿州市| 盐源县| 武定县| 萨迦县| 鄂托克旗| 石家庄市| 万州区| 云和县| 桦川县| 禄劝| 凤庆县| 瑞昌市| 驻马店市| 呈贡县| 阿荣旗| 会理县| 托克托县| 酉阳| 东平县| 日土县| 沿河| 五寨县| 乐平市| 正蓝旗| 黄骅市| 昌都县| 广河县| 夏邑县| 浏阳市| 隆昌县| 长汀县| 盐城市| 阿坝县| 通河县|