一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

爬蟲入門:如何用python爬取網(wǎng)易新聞?

 HDTV 2019-07-23

腳本之家

你與百萬開發(fā)者在一起

作者:江一

出品 | 腳本之家(ID:jb51net)

網(wǎng)絡(luò)爬蟲是幫助我們抓取互聯(lián)網(wǎng)上有用信息的利器。如果你有一點(diǎn)python基礎(chǔ),實(shí)現(xiàn)一個(gè)簡(jiǎn)單的爬蟲程序并不難。今天,我們以一個(gè)實(shí)際的例子——爬取網(wǎng)易新聞,重點(diǎn)介紹使用 BeautifulSoup 對(duì)HTML進(jìn)行解析處理。

1.尋找數(shù)據(jù)特征

網(wǎng)易新聞的網(wǎng)址 URL 為:https://www.163.com/ 我們打開網(wǎng)頁看看:

我們需要爬取這個(gè)頁面每一條新聞的標(biāo)題,鼠標(biāo)右擊一條新聞的標(biāo)題,選擇“檢查元素”, 出現(xiàn)下圖的窗口:

圖片中藍(lán)框的位置就是那一條新聞標(biāo)題在 HTML 中的結(jié)構(gòu)、位置和表現(xiàn)形式:<a > ,它上一級(jí)元素為:<li>,再上一級(jí)元素為:<ul >再上一級(jí)元素為:<div> 我們?cè)倏戳硪粭l新聞的標(biāo)題,發(fā)現(xiàn)它的結(jié)構(gòu)和之前我們分析的新聞標(biāo)題的結(jié)構(gòu)是一樣的。通過這些信息,我們就可以確定新聞標(biāo)題在 HTML 文檔中的位置。接下來,我們開始使用 Python 對(duì)網(wǎng)易新聞標(biāo)題進(jìn)行爬取。

2.編寫爬取代碼

首先呈上完整的代碼:

運(yùn)行程序,獲取到的部分結(jié)果為如下所示:

這正是我們所需要的。雖然代碼很簡(jiǎn)單,但還是做一點(diǎn)點(diǎn)講解,方便剛接觸的同學(xué)理解。

3.逐行解析代碼

  1. # coding:utf-8

首先,我們定義了文件的編碼形式為 UTF-8,以避免一些編碼錯(cuò)誤導(dǎo)致中文亂碼。

  1. import requests

  2. from bs4 import BeautifulSoup

然后,我們引入了相關(guān)的模塊,requests 用于 HTTP 請(qǐng)求,BeautifulSoup 用于解析 HTML 響應(yīng)。

  1. url = 'https://www.163.com/'

設(shè)置一個(gè)變量 url,值為網(wǎng)易新聞的 URL 。

  1. wbdata = requests.get(url).text

使用 requests.get()對(duì) URL 發(fā)起 GET 方式的 HTTP 請(qǐng)求,并使用 text()方法獲取響應(yīng)的文本 內(nèi)容,最后將其賦值給變量 wbdata。

  1. soup = BeautifulSoup(wbdata,'lxml')

使用 BeautifulSoup 對(duì)響應(yīng)文本 wbdata 進(jìn)行解析處理,這里使用的是 lxml 庫,如何沒有安 裝,可以使用 Python 自帶的 html.parser,效果也是一樣的。

  1. news_titles = soup.select('div>ul>li>a')

在解析后的文本中,使用select選擇器,在文本中選擇指定的元素,通常我們還會(huì)使用find() 和 findall()方法來進(jìn)行元素選擇。這一步返回的為一個(gè)列表,列表內(nèi)的元素為匹配的元素 的 HTML 源碼。

  1. for n in news_titles:

  2. title = n.get_text()

  3. link = n.get('href')

  4. data = {

  5. '標(biāo)題':title,

  6. '鏈接':link

  7. }

  8. print(data)

對(duì)結(jié)果列表進(jìn)行遍歷,再從遍歷的元素中提取出數(shù)據(jù),get('href')表示獲取屬性名為“hre的屬性值,get_text()表示獲取標(biāo)簽的文本信息。這樣,一個(gè)簡(jiǎn)單的網(wǎng)易新聞爬蟲就完成了。

如果想學(xué)習(xí)更多 requests 模塊和 BeautifulSoup 模塊的內(nèi)容,它們的官方文檔將是最好的指南。

參考文檔:

1.requests 官方文檔(中文):

http://docs./zh_CN/latest/

2.BeautifulSoup 文檔(中文):

https://www./software/BeautifulSoup/bs4/doc/index.zh.html

作者:江一

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品国自产拍天天青青草原| 成人三级视频在线观看不卡| 国产精品人妻熟女毛片av久久| 亚洲欧美中文日韩综合| 日韩一区二区三区18| 婷婷开心五月亚洲综合| 国产av熟女一区二区三区蜜桃| 真实国产乱子伦对白视频不卡| 久久本道综合色狠狠五月| 亚洲综合日韩精品欧美综合区| 人妻内射精品一区二区| 一级片二级片欧美日韩| 欧美黄色黑人一区二区| 色婷婷人妻av毛片一区二区三区| 国产精品成人一区二区三区夜夜夜 | 欧美高潮喷吹一区二区| 日韩一级一片内射视频4k| 九九热九九热九九热九九热| 又大又长又粗又猛国产精品| 久久99一本色道亚洲精品| 91亚洲人人在字幕国产| 久久这里只有精品中文字幕| 国产熟女高清一区二区| 欧美人与动牲交a精品| 色婷婷中文字幕在线视频| 国产毛片av一区二区三区小说| 特黄大片性高水多欧美一级 | 欧美国产亚洲一区二区三区| 91精品国产综合久久不卡| 国产精品欧美激情在线| 五月婷日韩中文字幕四虎| 亚洲性日韩精品一区二区| 欧美成人一区二区三区在线| 东京热加勒比一区二区| 久久本道综合色狠狠五月| 欧美高潮喷吹一区二区| 欧美精品亚洲精品日韩精品| 欧美性欧美一区二区三区| 黄色三级日本在线观看| 婷婷九月在线中文字幕| 日韩在线视频精品中文字幕|