国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python3制作捧腹網段子頁爬蟲

2020-02-23 04:20:40
字體:
來源:轉載
供稿:網友

0x01

春節閑著沒事(是有多閑),就寫了個簡單的程序,來爬點笑話看,順帶記錄下寫程序的過程。第一次接觸爬蟲是看了這么一個帖子,一個逗逼,爬取煎蛋網上妹子的照片,簡直不要太方便。于是乎就自己照貓畫虎,抓了點圖片。

科技啟迪未來,身為一個程序員,怎么能干這種事呢,還是爬點笑話比較有益于身心健康。


0x02

在我們擼起袖子開始搞之前,先來普及點理論知識。

簡單地說,我們要把網頁上特定位置的內容,扒拉下來,具體怎么扒拉,我們得先分析這個網頁,看那塊內容是我們需要的。比如,這次爬取的是捧腹網上的笑話,打開 捧腹網段子頁我們可以看到一大堆笑話,我們的目的就是獲取這些內容。看完回來冷靜一下,你這樣一直笑,我們沒辦法寫代碼。在 chrome 中,我們打開 審查元素 然后一級一級的展開 HTML 標簽,或者點擊那個小鼠標,定位我們所需要的元素。


最后可以發現 <div> 中的內容就是我們所需要的笑話,在看第二條笑話,也是這樣。于是乎,我們就可以把這個網頁中所有的 <div> 找到,然后把里邊的內容提取出來,就完成了。

0x03

好了,現在我們知道我們的目的了,就可以擼起袖子開始干了。這里我用的 python3,關于 python2 和 python3 的選用,大家可以自行決定,功能都可以實現,只是有些許不同。但還是建議用 python3。
我們要扒拉下我們需要的內容,首先我們得把這個網頁扒拉下來,怎么扒拉呢,這里我們要用到一個庫,叫 urllib,我們用這個庫提供的方法,來獲取整個網頁。
首先,我們導入 urllib

代碼如下: import urllib.request as request

然后,我們就可以使用 request 來獲取網頁了,

代碼如下: def getHTML(url):
return request.urlopen(url).read()

人生苦短,我用 python,一行代碼,下載網頁,你說,還有什么理由不用 python。
下載完網頁后,我們就得解析這個網頁了來獲取我們所需要的元素。為了解析元素,我們需要使用另外一個工具,叫做 Beautiful Soup,使用它,可以快速解析 HTML 和 XML并獲取我們所需要的元素。

代碼如下: soup = BeautifulSoup(getHTML("http://www.pengfu.com/xiaohua_1.html"))

用 BeautifulSoup 來解析網頁也就一句話,但當你運行代碼的時候,會出現這么一個警告,提示要指定一個解析器,不然,可能會在其他平臺或者系統上報錯。

代碼如下:/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涪陵区| 平谷区| 海丰县| 仪征市| 阜城县| 台东市| 余姚市| 甘肃省| 稷山县| 普兰店市| 文安县| 西峡县| 咸宁市| 财经| 淳化县| 馆陶县| 昌都县| 海口市| 屏南县| 景宁| 常德市| 沽源县| 静宁县| 英德市| 衡水市| 宁都县| 镇远县| 灵石县| 阳城县| 磐安县| 宁明县| 黔东| 融水| 沙湾县| 永年县| 南川市| 多伦县| 郯城县| 吉木萨尔县| 霸州市| 西丰县|