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

最簡單的python爬蟲案例,適合入門學習

這篇具有很好參考價值的文章主要介紹了最簡單的python爬蟲案例,適合入門學習。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

用python從網(wǎng)頁爬取數(shù)據(jù),網(wǎng)上相關(guān)文章很多,但能讓零基礎(chǔ)初學者輕松上手的卻很少??赡苁怯械淖髡哂X得有些知識點太簡單不值得花費精力講,結(jié)果是難者不會會者不難,初學者常常因此而蒙圈。本人也是小白,剛摸索著爬了兩個簡單的網(wǎng)頁數(shù)據(jù),經(jīng)歷了初學者易犯的各種糊涂,特總結(jié)分享一下,希望能對小白們有用。

最簡單的python爬蟲案例,適合入門學習

1、本文代碼環(huán)境:python3.7,requests模塊、BeautifulSoup解析庫

python爬網(wǎng)絡(luò)數(shù)據(jù),方法很多。不同的python版本、不同的模塊、庫,對應代碼都不同。所以,在看他人代碼時,需要搞清代碼環(huán)境所用的版本和使用的模塊庫等信息。因為如果環(huán)境不同,相同的代碼也可能沒用。初學者往往看到一篇文章講的代碼,復制過來就用,結(jié)果就是各種錯誤,這就是因為環(huán)境不同造成的。

沒有模塊的,pip安裝一下就好。安裝方法:點擊電腦左下角開始——輸入cmd回車,彈出cmd.exe界面——在界面上輸入pip install requests回車,稍后,提示安裝成功即完成了requests模塊的安裝。BeautifulSoup解析庫是屬于bs4模塊的一個功能塊,所以,用pip安裝時,要安裝pip install bs4。

2、爬蟲4部曲:發(fā)出請求——獲得網(wǎng)頁——解析內(nèi)容——保存內(nèi)容

建好了代碼環(huán)境,就可以開始爬數(shù)據(jù)了,無論什么代碼環(huán)境,爬蟲核心都是這4步。對新手來說,每一步都不簡單,我們通過一個簡單的爬取一篇小說代碼,來看看到底是怎么爬數(shù)據(jù)的。

3、爬取網(wǎng)絡(luò)小說


如圖3-1,我們試著把這篇小說爬下來保存為txt文件,按照爬蟲4部曲,我們逐步來看:

1)、發(fā)出請求

用代碼向網(wǎng)絡(luò)發(fā)出請求,請求訪問某個網(wǎng)址,首先我們得在代碼中給出具體的網(wǎng)址信息,比如上面截圖的網(wǎng)址是:
https://www.biqiuge.com/book/4772/2940354.html

那這個網(wǎng)址是怎么得到的呢,常規(guī)方法是通過瀏覽器的開發(fā)者工具,我是用的360瀏覽器,點擊右上角的工具菜單,點擊開發(fā)者工具即可,打開后的界面如下圖3-2:

最簡單的python爬蟲案例,適合入門學習
頂部菜單選擇Network,中間圓圈選擇Preview,通過選擇左側(cè)紅色方框內(nèi)的不同選項,觀察Preview下部的內(nèi)容,當能看到我們想要的文字時人(如圖3-3),就說明找到了。

最簡單的python爬蟲案例,適合入門學習
這時點擊Preview左側(cè)的Header面板,得到下圖3-4中的url就是我們要找的網(wǎng)址。復制后,粘貼到代碼里就能發(fā)出請求了。

最簡單的python爬蟲案例,適合入門學習
有細心的會看到,這個網(wǎng)址和我們平常瀏覽網(wǎng)頁時地址欄里的網(wǎng)址一樣啊,還用這么麻煩?


這兩個網(wǎng)址確實是一樣的,是不用這么麻煩,直接從地址欄復制就可以。但很多時候,我們要爬取的網(wǎng)頁數(shù)據(jù)并不在瀏覽器地址欄的那個網(wǎng)址里,這個時候就需要通過上面的那個開發(fā)者工具方法去找。

有了網(wǎng)址,發(fā)出請求的代碼為:

url = "https://www.biqiuge.com/book/4772/2940354.html"     #   要爬取數(shù)據(jù)的網(wǎng)址
response = requests.get(url)       #發(fā)出訪問請求,獲得對應網(wǎng)頁

訪問請求的反饋結(jié)果放在response里了,這時我們用print(response)看看這個結(jié)果到底是什么?運行結(jié)果為:<Response [200]>

這是個什么鬼?怎么不是我們想要的網(wǎng)頁內(nèi)容呢?解釋一下:

運行結(jié)果的意思是:響應狀態(tài)為成功??梢苑判膶懞竺娴拇a了。如果出現(xiàn)數(shù)字404,就是沒找到頁面的意思,響應不成功。響應結(jié)果還需要解析才能得到網(wǎng)頁內(nèi)容。

2)、獲得網(wǎng)頁

上面說了,已經(jīng)請求訪問并響應成功了,接下來就是如何獲得具體網(wǎng)頁內(nèi)容了。

soup = BeautifulSoup(response.content, 'lxml')     # 將獲得的網(wǎng)頁內(nèi)容解析寫入soup備用

我們用print(soup)看一下結(jié)果,就會得到下圖3-6的結(jié)果:

最簡單的python爬蟲案例,適合入門學習
內(nèi)容與前面在Preview里看到的一樣,說明已經(jīng)成功獲得了網(wǎng)頁內(nèi)容。

3)、解析網(wǎng)頁內(nèi)容,獲得數(shù)據(jù)

所有要爬取的數(shù)據(jù),都在上面的soup結(jié)果里,但還有更多是我們不需要的數(shù)據(jù)。所以接下來第3步就是對上面的結(jié)果內(nèi)容進行操作,以獲得我們想要的內(nèi)容。

1)根據(jù)目標,我們首先要獲得小說的標題和章節(jié)標題

在開發(fā)者工具里,分析網(wǎng)頁內(nèi)容,發(fā)現(xiàn)我們的目標之一小說和章節(jié)的標題分別位于下圖所示位置:

最簡單的python爬蟲案例,適合入門學習
A、小說標題“圣墟”在下面兩個位置都出現(xiàn)過,寫解析代碼就可以了:

<a href="/book/4772/">圣墟</a>
<a href='https://www.biqiuge.com/book/4772/' target='_blank' title="圣墟">圣墟</a>

很明顯第一個相對比簡單點,所以,我們通過解析第一個位置內(nèi)容來提取出標題“圣墟”

t1 = soup.find('a', href="/book/4772/"').get_text()

代碼解析: 上面兩處標題都位于<a,…/a>之間,所以“a”就是我們要用的第一個參數(shù),由于有a參數(shù)的代碼還有很多,為了精準定位就是這個位置的a,我們發(fā)現(xiàn)屬性href的值不同而且貌似是獨一無二的,所以將其作為關(guān)鍵字放進代碼里,就得到了此處的這段代碼。然后用.get_text()將這段代碼里的文字給爬取出來,就得到了我們最終想要的小說標題——“圣墟”。上面的代碼如果將href的參數(shù)值改為:’
https://www.biqiuge.com/book/4772/',也能得到相同的結(jié)果

B、章節(jié)標題在網(wǎng)頁代碼中也出現(xiàn)過多次,但是我們只需找到一處解析得到即可,根據(jù)上面的經(jīng)驗,我們選最簡單的一處為:

<h1>第一章 沙漠中的彼岸花</h1>

編寫代碼:

t2 = soup.find('h1').get_text()

2)獲得小說內(nèi)容

繼續(xù)分析網(wǎng)頁代碼,發(fā)現(xiàn)小說內(nèi)容的位置為:

< div id=“content” class=“showtxt”>
大漠孤煙直…

說明小說內(nèi)容位于<div …/div >之間,所以將div作為第一個參數(shù),由于div出現(xiàn)了很多次,所以我們需要繼續(xù)用此處獨有的參數(shù)作為關(guān)鍵字,我們將id=“content” class="showtxt"同時作為參數(shù)放到代碼里,這樣代碼就為:

tt = soup.find('div', id="content", class="showtxt").get_text()

此時,由于class在python里代表“類”,為敏感詞,作為關(guān)鍵字放在代碼里容易混淆,所以我們將敏感詞作為關(guān)鍵字時,需要在其后面加一個下劃線,將代碼class="showtxt"改為:class_=“showtxt”。運行后,小說內(nèi)容就已經(jīng)在tt里了。我們可以通過print(tt)看到效果。

4)、保存內(nèi)容

雖然小說標題、內(nèi)容都已經(jīng)爬取到了,但到哪里看呢,我們不可能每次都用python用print()運行后看。我們可以將剛才爬取到的標題、內(nèi)容,寫入到一個txt文件里。這就用到os模塊了。

此時運行程序,就能在e盤發(fā)現(xiàn)已新生成了文件“小說.txt文件",打開,發(fā)現(xiàn),所有想要的內(nèi)容已經(jīng)寫入到文件里了如圖3-8。但是小說內(nèi)容沒有換行,閱讀起來不方便,且前面有個多余的app2()。

最簡單的python爬蟲案例,適合入門學習
為了達到更好的效果,我們將代碼:

tt = soup.find('div', id="content", class="showtxt").get_text()

優(yōu)化為:

tt = soup.find('div', id="content", class_="showtxt").text.replace(' ','\n').replace('app2();','\n')

即將app2()和空格符都替換為換行符。運行后得到效果為:

最簡單的python爬蟲案例,適合入門學習
至此,一個簡單的爬取就完成了。

其實,該網(wǎng)址內(nèi)容完全可以直接復制就能得到,本文之所以還大費周章進行爬取,不過是借用這個簡單的靜態(tài)網(wǎng)頁,體驗一下爬蟲4步驟的流程,為后續(xù)批量爬取網(wǎng)頁中的小說、圖片以及爬取動態(tài)網(wǎng)頁數(shù)據(jù)做基礎(chǔ)。

4、附錄本文代碼(完整)

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup

# 第一步:發(fā)出訪問請求
url = "https://www.biqiuge.com/book/4772/2940354.html"
response = requests.get(url)

# 第二步:獲得網(wǎng)頁信息
soup = BeautifulSoup(response.content, 'lxml')

# 第三步:解析網(wǎng)頁數(shù)據(jù)
t1 = soup.find('a', href="/book/4772/").get_text()
t2 = soup.find('h1').get_text()
tt = soup.find('div', id="content", class_="showtxt").text.replace(' ','\n').replace('app2();','\n')

# 第四步:保存內(nèi)容
f = open(r"e:\小說1.txt", 'a+', encoding='utf-8')
f.write(t1 + '\n')
f.write(t2 + '\n')
f.write(tt)
f.close()
print('下載完成')

關(guān)于Python技術(shù)儲備

學好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯,但要學會 Python 還是要有一個學習規(guī)劃。最后大家分享一份全套的 Python 學習資料,給那些想學習 Python 的小伙伴們一點幫助!

一、Python所有方向的學習路線

Python所有方向的技術(shù)點做的整理,形成各個領(lǐng)域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面。最簡單的python爬蟲案例,適合入門學習

二、Python必備開發(fā)工具

最簡單的python爬蟲案例,適合入門學習

三、精品Python學習書籍

當我學到一定基礎(chǔ),有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術(shù)點的理解,這些理解是比較獨到,可以學到不一樣的思路。
最簡單的python爬蟲案例,適合入門學習

四、Python視頻合集

觀看零基礎(chǔ)學習視頻,看視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎(chǔ)到深入,還是很容易入門的。
最簡單的python爬蟲案例,適合入門學習
最簡單的python爬蟲案例,適合入門學習

五、實戰(zhàn)案例

光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學習。
最簡單的python爬蟲案例,適合入門學習

六、Python練習題

檢查學習結(jié)果。
最簡單的python爬蟲案例,適合入門學習

七、面試資料

我們學習Python必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有阿里大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
最簡單的python爬蟲案例,適合入門學習
最簡單的python爬蟲案例,適合入門學習

這份完整版的Python全套學習資料已經(jīng)上傳CSDN,朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認證二維碼免費領(lǐng)取【保證100%免費

最簡單的python爬蟲案例,適合入門學習

Python資料、技術(shù)、課程、解答、咨詢也可以直接點擊下面名片,添加官方客服斯琪文章來源地址http://www.zghlxwxcb.cn/news/detail-478055.html

到了這里,關(guān)于最簡單的python爬蟲案例,適合入門學習的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Python爬蟲案例解析:五個實用案例及代碼示例(學習爬蟲看這一篇文章就夠了)

    Python爬蟲案例解析:五個實用案例及代碼示例(學習爬蟲看這一篇文章就夠了)

    導言: Python爬蟲是一種強大的工具,可以幫助我們從網(wǎng)頁中抓取數(shù)據(jù),并進行各種處理和分析。在本篇博客中,我們將介紹五個實用的Python爬蟲案例,并提供相應的代碼示例和解析。通過這些案例,讀者可以了解如何應用Python爬蟲來解決不同的數(shù)據(jù)獲取和處理問題,從而進一

    2024年02月16日
    瀏覽(19)
  • Python爬蟲入門:HTTP與URL基礎(chǔ)解析及簡單示例實踐

    Python爬蟲入門:HTTP與URL基礎(chǔ)解析及簡單示例實踐

    在數(shù)字化時代,數(shù)據(jù)已成為一種寶貴的資源。Python作為一種強大的編程語言,在數(shù)據(jù)采集和處理方面表現(xiàn)出色。爬蟲技術(shù),即網(wǎng)絡(luò)爬蟲,是Python中用于數(shù)據(jù)采集的重要工具。本文作為Python爬蟲基礎(chǔ)教程的第一篇,將深入講解URL和HTTP的基礎(chǔ)知識,為后續(xù)的爬蟲實踐打下堅實的基

    2024年03月22日
    瀏覽(19)
  • Python爬蟲學習筆記(一)---Python入門

    Python爬蟲學習筆記(一)---Python入門

    pycharm的安裝可以自行去搜索教程。 pycharm的使用需要注意: 1、venv文件夾是這個項目的虛擬環(huán)境文件,應與代碼文件分開。 2、如果運行沒有,最后一行是“進程已結(jié)束,退出代碼為0”,如果最后不是0,那么,就說明運行出錯。 print括號中使用單引號或者雙引號都是可以的。

    2024年01月17日
    瀏覽(22)
  • Java實現(xiàn)簡單計算器(GUI)頁面(適合入門)

    Java實現(xiàn)簡單計算器(GUI)頁面(適合入門)

    使用Java Swing的GUI圖形用戶界面編程設(shè)計并編寫一個簡易計算器程序,用戶通過鼠標或者鍵盤操作輸入?yún)⒓舆\算的數(shù)值和運算符,要求能進行簡單的四則運算。

    2024年02月12日
    瀏覽(21)
  • 廢柴日記8:從入門到入獄的Python爬蟲學習筆記1(入門篇)

    廢柴日記8:從入門到入獄的Python爬蟲學習筆記1(入門篇)

    米娜桑,好久不見,不知道這段時間各位手中的西瓜刀有沒有按時擦亮呢? 我也是在摸爬滾打?qū)⒔荒曛罂偹闶钦业搅艘稽c人生的方向所以當成救命稻草現(xiàn)在正死死握緊不放手的啊。 這一年真的是經(jīng)歷了很多,發(fā)生了很多事,做了很多次選擇,但可能我身上已經(jīng)被鎖定了

    2024年02月08日
    瀏覽(17)
  • 超簡單的node爬蟲小案例

    超簡單的node爬蟲小案例

    同前端爬取參數(shù)一樣,輸入三個參數(shù)進行爬取 注意點也一樣: 注意分頁的字段需要在代碼里面定制化修改,根據(jù)你爬取的接口,他的業(yè)務(wù)規(guī)則改代碼中的字段。比如我這里總條數(shù)叫total,人家的不一定。返回的數(shù)據(jù)我這里是data.rows,看看人家的是叫什么字段,改改代碼。再比

    2024年01月17日
    瀏覽(14)
  • python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學者)

    python爬蟲——爬取豆瓣top250電影數(shù)據(jù)(適合初學者)

    爬取豆瓣top250其實是初學者用于練習和熟悉爬蟲技能知識的簡單實戰(zhàn)項目,通過這個項目,可以讓小白對爬蟲有一個初步認識,因此,如果你已經(jīng)接觸過爬蟲有些時間了,可以跳過該項目,選擇更有挑戰(zhàn)性的實戰(zhàn)項目來提升技能。當然,如果你是小白,這個項目就再適合不過

    2024年02月07日
    瀏覽(23)
  • 《零基礎(chǔ)入門學習Python》第055講:論一只爬蟲的自我修養(yǎng)3:隱藏

    《零基礎(chǔ)入門學習Python》第055講:論一只爬蟲的自我修養(yǎng)3:隱藏

    上節(jié)課我們說過了,有一些網(wǎng)站比較痛恨爬蟲程序,它們不喜歡被程序所訪問,所以它們會檢查鏈接的來源,如果說來源不是正常的途徑,那么它就會把你給屏蔽掉,所以呢,要讓我們的程序可以持續(xù)的干活,要可以投入生產(chǎn),我們就需要對代碼進行隱藏,讓它看起來更像是

    2024年02月16日
    瀏覽(23)
  • Vue2簡單使用及相關(guān)基礎(chǔ)知識概念(適合小白入門,看完就能上手)

    Vue2簡單使用及相關(guān)基礎(chǔ)知識概念(適合小白入門,看完就能上手)

    MVC模式(同步通信為主):Model、View、Controller MVP模式(異步通信為主):Model、View、Presenter MVVM模式(異步通信為主):Model、View、ViewModel(目前主要的模式) 2.1 概念 MVVM是一種軟件架構(gòu)設(shè)計模式。MVVM的核心是ViewModel層,負責轉(zhuǎn)換Model層中的數(shù)據(jù)對象來讓數(shù)據(jù)變得更加容易

    2024年02月07日
    瀏覽(20)
  • python爬蟲從0到1 -selenium的基本使用(1),非常適合收藏的Python進階重難點筆記

    python爬蟲從0到1 -selenium的基本使用(1),非常適合收藏的Python進階重難點筆記

    5.根據(jù)標簽名字來獲取對象 button = browser.find_element_by_tag_name(‘input’) 6.通過當前頁面中的鏈接文本來獲取對象 button = browser.find_element_by_link_text(‘新聞’) (五)selenium訪問元素信息 ==================================================================================== 例: 1.獲取元素屬性的屬性值

    2024年04月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包