欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    發(fā)送 GET 請求

    當(dāng)我們用瀏覽器打開豆瓣首頁時,其實發(fā)送的最原始的請求就是 GET 請求

    可以看到,我們得到的是一個 對象

    如果我們要獲取網(wǎng)站返回的數(shù)據(jù),可以使用 text 或者 屬性來獲取

    text:是以字符串的形式返回數(shù)據(jù)

    :是以二進(jìn)制的方式返回數(shù)據(jù)

    print(type(res.text))

    print(res.text)

    >>>

    lang="zh-cmn-Hans" class="">

    ="UTF-8">

    name="-site-" ="eyw" />

    name="" ="提供圖書、電影、音樂唱片的推薦、評論和價格比較,以及城市獨特的文化生活。">

    name="" ="豆瓣,廣播,登陸豆瓣">.....

    發(fā)送 POST 請求

    對于 POST 請求,一般就是提交一個表單

    r = .post('#39;, data={"key": "value"})

    用python爬取網(wǎng)站數(shù)據(jù)_python爬取手機app的數(shù)據(jù)_python爬取電商數(shù)據(jù)

    data 當(dāng)中,就是需要傳遞的表單信息,是一個字典類型的數(shù)據(jù)。

    增強

    對于有些網(wǎng)站,會拒絕掉沒有攜帶 的請求的,所以需要做一些 增強。比如:UA,,host 等等信息。

    = {"User-Agent": "/5.0 ( NT 10.0; Win64; x64) /537.36 (KHTML, like Gecko) /76.0.3809.100 /537.36","": "your "}

    res = .get('#39;, =)

    解析 HTML

    現(xiàn)在我們已經(jīng)獲取到了網(wǎng)頁返回的數(shù)據(jù),即 HTML 代碼,下面就需要解析 HTML,來提取其中有效的信息。

    是 的一個庫,最主要的功能是從網(wǎng)頁解析數(shù)據(jù)。

    from bs4 # 導(dǎo)入 的方法

    # 可以傳入一段字符串,或者傳入一個文件句柄。一般都會先用 庫獲取網(wǎng)頁內(nèi)容,然后使用 soup 解析。

    soup = (,'html.')

    # 這里一定要指定解析器,可以使用默認(rèn)的 html,也可以使用 lxml。print(soup.()) # 按照標(biāo)準(zhǔn)的縮進(jìn)格式輸出獲取的 soup 內(nèi)容。

    的一些簡單用法

    print(soup.title) # 獲取文檔的 title

    print(soup.title.name) # 獲取 title 的 name 屬性print(soup.title.) # 獲取 title 的內(nèi)容

    python爬取手機app的數(shù)據(jù)_python爬取電商數(shù)據(jù)_用python爬取網(wǎng)站數(shù)據(jù)

    print(soup.p) # 獲取文檔中第一個 p 節(jié)點

    print(soup.p['class']) # 獲取第一個 p 節(jié)點的 class 內(nèi)容print(soup.('a')) # 獲取文檔中所有的 a 節(jié)點,返回一個 list

    print(soup.('span', attrs={'style': "color:#"})) # 獲取文檔中所有的 span 且 style 符合規(guī)則的節(jié)點,返回一個 list

    具體的用法和效果,我會在后面的實戰(zhàn)中詳細(xì)說明。

    XPath 定位

    XPath 是 XML 的路徑語言,是通過元素和屬性進(jìn)行導(dǎo)航定位的。幾種常用的表達(dá)式

    表達(dá)式含義node選擇 node 節(jié)點的所有子節(jié)點/從根節(jié)點選取//選取所有當(dāng)前節(jié)點.當(dāng)前節(jié)點..父節(jié)點@屬性選取text()當(dāng)前路徑下的文本內(nèi)容

    一些簡單的例子

    當(dāng)然,XPath 非常強大python爬取網(wǎng)站數(shù)據(jù),但是語法也相對復(fù)雜,不過我們可以通過 的開發(fā)者工具來快速定位到元素的 xpath,如下圖

    得到的 xpath 為

    //*[@id="anony-nav"]/div[1]/ul/li[1]/a

    在實際的使用過程中,到底使用 還是 XPath,完全取決于個人喜好,哪個用起來更加熟練方便,就使用哪個。

    爬蟲實戰(zhàn):爬取豆瓣海報

    我們可以從豆瓣影人頁用python爬取網(wǎng)站數(shù)據(jù),進(jìn)入都影人對應(yīng)的影人圖片頁面,比如以劉濤為例子,她的影人圖片頁面地址為

    python爬取電商數(shù)據(jù)_python爬取手機app的數(shù)據(jù)_用python爬取網(wǎng)站數(shù)據(jù)

    ////

    下面我們就來分析下這個網(wǎng)頁

    目標(biāo)網(wǎng)站頁面分析

    注意:網(wǎng)絡(luò)上的網(wǎng)站頁面構(gòu)成總是會變化的,所以這里你需要學(xué)會分析的方法,以此類推到其他網(wǎng)站。正所謂授人以魚不如授人以漁,就是這個原因。

    開發(fā)者工具

    開發(fā)者工具(按 F12 打開),是分析網(wǎng)頁的絕佳利器,一定要好好使用。

    我們在任意一張圖片上右擊鼠標(biāo),選擇“檢查”,可以看到同樣打開了“開發(fā)者工具”,而且自動定位到了該圖片所在的位置

    可以清晰的看到,每張圖片都是保存在 li 標(biāo)簽中的,圖片的地址保存在 li 標(biāo)簽中的 img 中。

    知道了這些規(guī)律后,我們就可以通過 或者 XPath 來解析 HTML 頁面,從而獲取其中的圖片地址。

    代碼編寫

    我們只需要短短的幾行代碼,就能完成圖片 url 的提取

    可以看到,是非常干凈的列表,里面存儲了海報地址。

    但是這里也只是一頁海報的數(shù)據(jù),我們觀察頁面發(fā)現(xiàn)它有好多分頁,如何處理分頁呢。

    用python爬取網(wǎng)站數(shù)據(jù)_python爬取電商數(shù)據(jù)_python爬取手機app的數(shù)據(jù)

    分頁處理

    我們點擊第二頁,看看瀏覽器 url 的變化

    ////?type=C&start=30&=like&size=a&=a

    發(fā)現(xiàn)瀏覽器 url 增加了幾個參數(shù)

    再點擊第三頁,繼續(xù)觀察 url

    ////?type=C&start=60&=like&size=a&=a

    通過觀察可知,這里的參數(shù),只有 start 是變化的,即為變量,其余參數(shù)都可以按照常理來處理

    同時還可以知道,這個 start 參數(shù)應(yīng)該是起到了類似于 page 的作用,start = 30 是第二頁,start = 60 是第三頁,依次類推,最后一頁是 start = 420。

    于是我們處理分頁的代碼也呼之欲出了

    首先將上面處理 HTML 頁面的代碼封裝成函數(shù)

    然后我們在另一個函數(shù)中處理分頁和調(diào)用上面的函數(shù)

    此時,我們所有的海報數(shù)據(jù)都保存在了 data 變量中,現(xiàn)在就需要一個下載器來保存海報了

    python爬取手機app的數(shù)據(jù)_用python爬取網(wǎng)站數(shù)據(jù)_python爬取電商數(shù)據(jù)

    再增加下載器到 fire 函數(shù),此時為了不是請求過于頻繁而影響豆瓣網(wǎng)的正常訪問,設(shè)置 sleep time 為1秒

    下面就執(zhí)行 fire 函數(shù),等待程序運行完成后,當(dāng)前目錄下會生成一個 的文件夾,里面保存了我們下載的所有海報

    核心代碼講解

    下面再來看下完整的代碼

    fire 函數(shù)

    這是一個主執(zhí)行函數(shù),使用 range 函數(shù)來處理分頁。

    函數(shù)

    這個就是解析 HTML 的函數(shù),使用的是

    函數(shù)

    簡易圖片下載器

    總結(jié)

    本節(jié)講解了爬蟲的基本流程以及需要用到的 庫和方法,并通過一個實際的例子完成了從分析網(wǎng)頁,到數(shù)據(jù)存儲的全過程。其實爬蟲,無外乎模擬請求,解析數(shù)據(jù),保存數(shù)據(jù)。

    當(dāng)然有的時候,網(wǎng)站還會設(shè)置各種反爬機制,比如 校驗,請求頻度檢查,非瀏覽器訪問限制,JS 混淆等等,這個時候就需要用到反反爬技術(shù)了,比如抓取 放到 中,使用代理 IP 訪問,使用 模擬瀏覽器等待方式。

    由于本課程不是專門的爬蟲課,這些技能就留待你自己去探索挖掘啦。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有