国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python爬蟲入門(一)(適合初學(xué)者)

這篇具有很好參考價(jià)值的文章主要介紹了Python爬蟲入門(一)(適合初學(xué)者)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Python爬蟲入門(一) (適合初學(xué)者)

關(guān)于爬蟲是什么,怎樣保證爬蟲的合法性小編在這就不再過(guò)多的闡述,從本章起,小編將和大家一起分享在學(xué)習(xí)python爬蟲中的所學(xué),希望可以和大家一起進(jìn)步,也希望各位可以關(guān)注一下我!
首先我們來(lái)初步了解下如何使用開發(fā)者工具進(jìn)行抓包。以 https://fanyi.baidu.com/ 為例。在網(wǎng)頁(yè)界面右鍵點(diǎn)擊檢查,或使用CTRL+SHIFT+I打開。
爬蟲入門,爬蟲,爬蟲
如圖打開了開發(fā)者工具后我們點(diǎn)擊網(wǎng)絡(luò)得到如上界面。接著按照提示按CTRL+R進(jìn)行刷新。刷新后如下圖所示:
爬蟲入門,爬蟲,爬蟲
此時(shí)我們即可看到我們獲取到了很多很多的數(shù)據(jù)包,但是想要完成一個(gè)爬蟲程序的第一步就是在這眾多的包中,找到正確的API數(shù)據(jù)接口。通俗點(diǎn)將就是你想要獲得一個(gè)小球,而這個(gè)小球藏在一個(gè)小箱子里,而此時(shí)有很多很多個(gè)小箱子,想要獲得小球則需要找出小球究竟藏在哪個(gè)箱子里。一般在實(shí)際操作中我們只需要使用到上圖小編圈出來(lái)的兩個(gè)地方,一個(gè)是全部、另一個(gè)是Fetch/XHR。在全部中會(huì)顯示所有請(qǐng)求獲取到的包其中包括:網(wǎng)頁(yè)源碼、css、js、圖片、ajax等。而在Fetch/XHR中則只能看到ajax請(qǐng)求所獲得的數(shù)據(jù)包。ajax請(qǐng)求一般是對(duì)動(dòng)態(tài)數(shù)據(jù)進(jìn)行請(qǐng)求,即前端向后端發(fā)起請(qǐng)求,動(dòng)態(tài)請(qǐng)求到后端數(shù)據(jù)庫(kù)中的數(shù)據(jù),并將這些數(shù)據(jù)展示在前端網(wǎng)頁(yè)中。(可能會(huì)感覺(jué)聽起來(lái)云里霧里,沒(méi)關(guān)系哦,后面根據(jù)一個(gè)一個(gè)的例子可以更好的了解,或者小編以后更新django框架時(shí)會(huì)細(xì)講ajax請(qǐng)求)

接下來(lái)我們進(jìn)入爬蟲的第一個(gè)程序(百度翻譯的單詞爬蟲)

在百度翻譯中我們可以輸入一個(gè)單詞,然后網(wǎng)頁(yè)會(huì)動(dòng)態(tài)的在界面上給我們展示這個(gè)單詞的意思,因此我們可以非常非常非常自信的確定,單詞意思的數(shù)據(jù)是通過(guò)動(dòng)態(tài)請(qǐng)求得到的,既然說(shuō)動(dòng)態(tài)請(qǐng)求得到的,那么又可以確定這八成就是一個(gè)ajax請(qǐng)求。因此我們選中Fetch/XHR。
爬蟲入門,爬蟲,爬蟲
根據(jù)觀察此時(shí)看到Fetch/XHR中只有這三個(gè)數(shù)據(jù)包,但點(diǎn)開查看其響應(yīng)(即返回值)時(shí)確發(fā)現(xiàn)好像沒(méi)有我們需要的數(shù)據(jù)。這個(gè)什么呢,不必慌張,因?yàn)槲覀儾⑦€沒(méi)有在左邊輸入單詞的框中輸入過(guò)單詞,于是我們可以在左邊隨意的輸入一個(gè)英文單詞進(jìn)行測(cè)試:
爬蟲入門,爬蟲,爬蟲
當(dāng)我們輸入完一個(gè)單詞后發(fā)現(xiàn),右邊又抓到了很包,對(duì)這些抓到的包進(jìn)行分析可以找到如下這個(gè)數(shù)據(jù)包:
爬蟲入門,爬蟲,爬蟲
爬蟲入門,爬蟲,爬蟲
爬蟲入門,爬蟲,爬蟲
由上述三種圖可以看出,這個(gè)包中就藏著我們想要的數(shù)據(jù)。通過(guò)查看該包的標(biāo)頭可以確定,請(qǐng)求數(shù)據(jù)的請(qǐng)求URL是:https://fanyi.baidu.com/sug,且發(fā)起的請(qǐng)求方式為POST,且根據(jù)Content-Type: application/json可以得出請(qǐng)求的返回值為json格式,在payload中可以分析出該P(yáng)OST請(qǐng)求需要攜帶一個(gè)名為kw的參數(shù),參數(shù)的值為我們需要查詢的單詞。這時(shí)我們即可以弄清楚該網(wǎng)站查詢單詞的運(yùn)行機(jī)制了:我們?cè)诓樵兛蛑休斎胗⑽膯卧~,網(wǎng)頁(yè)前端拿到我們輸入的單詞,通過(guò)ajax請(qǐng)求向https://fanyi.baidu.com/sug發(fā)起請(qǐng)求,并將我們輸入的英文單詞作為表單數(shù)據(jù)傳輸給后端,后端根據(jù)我們輸入的單詞在數(shù)據(jù)庫(kù)中查詢?cè)搯卧~,拿到該單詞的意思然后再次返回給前端并展示出來(lái)。接下來(lái)就進(jìn)入令人激動(dòng)的coding代碼部分。

代碼部分
1、安裝requests包(在cmd命令行中輸入以下語(yǔ)句進(jìn)行自動(dòng)下載安裝):
前提需要電腦上已經(jīng)裝有python且配置了環(huán)境變量

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

爬蟲入門,爬蟲,爬蟲
2、導(dǎo)入requests包并確定url:

import requests
url = 'https://fanyi.baidu.com/sug'

3、進(jìn)行UA偽裝

headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56'
    }

UA偽裝:可以理解為將我們的爬蟲程序偽裝起來(lái),增加請(qǐng)求成功的可能性。
爬蟲入門,爬蟲,爬蟲
只需在數(shù)據(jù)包的標(biāo)頭中,拉到最下面,即可以找到這個(gè)User-Agent,將其復(fù)制下來(lái),像小編一樣在python用字典進(jìn)行封裝即可。
4、確定參數(shù),并對(duì)數(shù)據(jù)接口發(fā)起請(qǐng)求獲得返回結(jié)果

data = {     #post請(qǐng)求攜帶的參數(shù)
       'kw':'dog'
   }
#對(duì)目標(biāo)url發(fā)起post請(qǐng)求
response = requests.post(url=url,headers=headers,data=data).json()
print(response)

結(jié)果如下:
爬蟲入門,爬蟲,爬蟲
至此一個(gè)最最最簡(jiǎn)單的爬蟲程序就寫完了,是不是很簡(jiǎn)單!接下來(lái)我們對(duì)程序進(jìn)行完善,所有代碼如下:

import requests

def spider(url,headers,data):

    response = requests.post(url=url, headers=headers, data=data).json()  # 對(duì)目標(biāo)url發(fā)起post請(qǐng)求
    for key in response['data'][0]:
        print(key,response['data'][0][key])

def main():

    url = 'https://fanyi.baidu.com/sug'  #需要請(qǐng)求的url
    headers = {  #進(jìn)行UA偽裝
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56'
    }
    while True:  #使程序進(jìn)入死循環(huán)
        kw = input("輸入需要查詢的單詞:")
        data = {     #post請(qǐng)求攜帶的參數(shù)
            'kw':kw
        }
        spider(url=url,headers=headers,data=data)  #調(diào)用自定義函數(shù)spider

if __name__ == '__main__':

    main()

爬蟲入門,爬蟲,爬蟲
這樣一個(gè)簡(jiǎn)單的基于爬蟲的單詞查詢器就完成啦!其中對(duì)json數(shù)據(jù)進(jìn)行提取的代碼如果有看不懂的小伙伴可以去學(xué)習(xí)一個(gè)python的字典。
希望該文章可以幫助到你!如果覺(jué)得有用可以關(guān)注一下我哦!后序會(huì)寫更多的例子。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-821843.html

到了這里,關(guān)于Python爬蟲入門(一)(適合初學(xué)者)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 有哪些適合初學(xué)者的編程語(yǔ)言?

    有哪些適合初學(xué)者的編程語(yǔ)言?

    那為什么我還要教你C語(yǔ)言呢?因?yàn)槲蚁胍屇愠蔀橐粋€(gè)更好、更強(qiáng)大的程序員。如果你要變得更好,C語(yǔ)言是一個(gè)極佳的選擇,其原因有二。首先,C語(yǔ)言缺乏任何現(xiàn)代的安全功能,這意味著你必須更為警惕,時(shí)刻了解真正發(fā)生的事情。如果你能寫出安全、健壯的C代碼,那你就

    2024年02月09日
    瀏覽(21)
  • 【001-Java基礎(chǔ)練習(xí)】-適合初學(xué)者的練習(xí)

    【001-Java基礎(chǔ)練習(xí)】-適合初學(xué)者的練習(xí)

    用于鞏固java基礎(chǔ)知識(shí),初學(xué)者多練多敲,熟悉代碼,熟悉語(yǔ)法就ok。 練習(xí)1、從控制臺(tái)獲取Java、ps、HTML三門課程的成績(jī),計(jì)算總分和平均分(平均分保留2位小數(shù),要求四舍五入),輸出總分和平均分 練習(xí)2、控制臺(tái)輸入學(xué)生信息,學(xué)號(hào) 姓名 性別 年齡,控制臺(tái)展示學(xué)生信息如

    2024年02月01日
    瀏覽(27)
  • 適合初學(xué)者的 機(jī)器學(xué)習(xí) 資料合集(可快速下載)

    適合初學(xué)者的 機(jī)器學(xué)習(xí) 資料合集(可快速下載)

    AI時(shí)代已經(jīng)來(lái)臨,機(jī)器學(xué)習(xí)成為了當(dāng)今的熱潮。但是,很多人在面對(duì)機(jī)器學(xué)習(xí)時(shí)卻不知道如何開始學(xué)習(xí)。 今天,我為大家推薦幾個(gè)適合初學(xué)者的機(jī)器學(xué)習(xí)開源項(xiàng)目,幫助大家更好地了解和掌握機(jī)器學(xué)習(xí)的知識(shí)。這些項(xiàng)目都是開源的,且已經(jīng)加入了 Github加速計(jì)劃 ,可以 快速下

    2024年01月22日
    瀏覽(29)
  • CentOS 7安裝全解析:適合初學(xué)者的指導(dǎo)

    CentOS 7安裝全解析:適合初學(xué)者的指導(dǎo)

    目錄 前言 一.centos安裝 1.下載鏡像文件 2.安裝? ?二.遠(yuǎn)程連接,換源 1.下載并且使用MobaXtermMobaXterm free Xserver and tabbed SSH client for Windows (mobatek.net)https://mobaxterm.mobatek.net/ 遠(yuǎn)程連接 2.換源 在當(dāng)今的信息化時(shí)代,服務(wù)器操作系統(tǒng)扮演著至關(guān)重要的角色。無(wú)論是搭建個(gè)人網(wǎng)站、部署

    2024年01月23日
    瀏覽(31)
  • 適合初學(xué)者的 7 個(gè)有趣的區(qū)塊鏈項(xiàng)目創(chuàng)意

    適合初學(xué)者的 7 個(gè)有趣的區(qū)塊鏈項(xiàng)目創(chuàng)意

    許多人認(rèn)為區(qū)塊鏈?zhǔn)菫楸忍貛盘峁﹦?dòng)力的技術(shù),但它的范圍遠(yuǎn)不止于此。 簡(jiǎn)單來(lái)說(shuō),它是一個(gè)分布式數(shù)據(jù)庫(kù),維護(hù)著所有已執(zhí)行交易的記錄,并在參與方之間共享。在這里,在本文中,我們將討論一些可以在區(qū)塊鏈中實(shí)現(xiàn)的最有趣的項(xiàng)目想法。但在此之前,讓我們先了解一下

    2024年02月02日
    瀏覽(21)
  • TCGA下載和表達(dá)矩陣整理:最適合初學(xué)者的教程

    TCGA下載和表達(dá)矩陣整理:最適合初學(xué)者的教程

    本文首發(fā)于公眾號(hào): 醫(yī)學(xué)和生信筆記 “ 醫(yī)學(xué)和生信筆記 ,專注R語(yǔ)言在臨床醫(yī)學(xué)中的使用,R語(yǔ)言數(shù)據(jù)分析和可視化。主要分享R語(yǔ)言做醫(yī)學(xué)統(tǒng)計(jì)學(xué)、meta分析、網(wǎng)絡(luò)藥理學(xué)、臨床預(yù)測(cè)模型、機(jī)器學(xué)習(xí)、生物信息學(xué)等。 這篇推文適合初學(xué)者看,大佬酌情閱讀! 從打開網(wǎng)址開始教

    2023年04月08日
    瀏覽(16)
  • “C“滸傳——初識(shí)C語(yǔ)言(更適合初學(xué)者體質(zhì)哦?。? decoding=

    “C“滸傳——初識(shí)C語(yǔ)言(更適合初學(xué)者體質(zhì)哦!)

    第一章? “C“滸傳——初識(shí)C語(yǔ)言(更適合初學(xué)者體質(zhì)哦?。?目錄 系列文章目錄? ? 前言 ?一、什么是C語(yǔ)言 二、第一個(gè)C語(yǔ)言程序 ?三、數(shù)據(jù)類型 四、變量,常量 4.1 定義變量的方法 4.1.1?變量的命名 4.2?變量的分類 4.3 變量的使用 4.4 變量的作用域和生命周期 4.4.1 作用域

    2024年02月07日
    瀏覽(25)
  • 2023 年 7 個(gè)適合初學(xué)者的 Vue.js 教程

    這個(gè)精心挑選的列表將幫助 Vue 初學(xué)者找到七個(gè)很棒的資源來(lái)開始學(xué)習(xí) Vue。 我相信你來(lái)這里是為了尋找一些資源來(lái)開始學(xué)習(xí) Vue.js 框架的奇妙旅程,無(wú)論是作為第一個(gè)工具還是你熟悉的其他框架的附加工具。不管怎樣,你很幸運(yùn),因?yàn)檫@就是我們將在這篇文章中介紹的內(nèi)容。

    2024年02月12日
    瀏覽(29)
  • 7 個(gè)適合初學(xué)者的項(xiàng)目,可幫助您開始使用 ChatGPT

    7 個(gè)適合初學(xué)者的項(xiàng)目,可幫助您開始使用 ChatGPT

    推薦:使用 NSDT場(chǎng)景編輯器快速搭建3D應(yīng)用場(chǎng)景 從自動(dòng)化日常任務(wù)到預(yù)測(cè)復(fù)雜模式,人工智能正在重塑行業(yè)并重新定義可能性。 當(dāng)我們站在這場(chǎng)人工智能革命中時(shí), 我們必須了解它的潛力并將其整合到我們的日常工作流程中。 然而。。。我知道開始使用這些新技術(shù)可能會(huì)讓

    2024年02月09日
    瀏覽(32)
  • 【MySQL】MySQL事務(wù)保姆級(jí)教程(適合MySQL初學(xué)者學(xué)習(xí))

    【MySQL】MySQL事務(wù)保姆級(jí)教程(適合MySQL初學(xué)者學(xué)習(xí))

    ?????作者名稱:DaenCode ??作者簡(jiǎn)介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗(yàn)、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:重溫MySQL 無(wú)論是在校招、社招,亦或者大學(xué)計(jì)算機(jī)專業(yè)、軟件工程等相關(guān)面試或者考試中,MySQL事務(wù)的相關(guān)知識(shí)都是必

    2024年02月16日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包