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

首頁 > 編程 > Python > 正文

python制作小說爬蟲實錄

2020-02-16 02:04:09
字體:
來源:轉載
供稿:網友

紀念我的第一個爬蟲程序,一共寫了三個白天,其中有兩個上午沒有看,中途遇到了各種奇怪的問題,伴隨著他們的解決,對于一些基本的操作也弄清楚了。果然,對于這些東西的最號的學習方式,就是在使用中學習,通過解決問題的方式來搞定這些知識。按需索取,才能更有針對性。

大體記錄下整個過程。

--------------------------------------------------------------------------------

準備構思

出于對于python的熱愛,想要嘗試一些練手的項目,但是不論是看書,還是直接嘗試別人的項目,到最后都會淪為不停地復制粘貼...最實際的就是自己來上手親自寫代碼。思路都是一樣的,但是具體的實現還得靠自己。

以前的復制粘貼給我的幫助也就是告訴了我大致的流程。

確定目標網址

目標網址是關鍵。我夢想中的爬蟲是那種偏向于更智能的,直接給他一個想要獲取的關鍵詞,一步步的流程直接自己完成,可以自己給定范圍,也可以直接爬取整個互聯網或者更實際的就是整個百度上的內容,但是,目前就我而言,見到的爬蟲,都是給定目標網址,通過目標頁面上的內容進一步執行規定的操作,所以現在來看,我們在寫爬蟲之前,需要確定一個基準頁面,這個是需要我們事先制定的。在考慮我們需要程序完成怎樣的功能,獲取頁面文本還是相關鏈接內容還是其他的目的。

我這個程序想要獲取的是《劍來》小說,把各個章節的內容爬去下載存儲到文件里。

編程只是實現目的的工具。

所以重點是分析我們的需求。

獲取小說目錄頁面是基本。這里有各個章節的鏈接,標題等等內容。這是我們需要的。

有了各個章節的鏈接,就需要進入其中獲得各個章節的內容。

所以,我們需要獲得頁面內容,需要從中獲得目標內容。

所以使用 urllib.request,re 庫。

前者用來獲得網頁內容,后者獲得目標信息。

headers

直接使用urllib.request的urlopen(),read()方法是會報以下錯誤:

raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)HTTPError: HTTP Error 403: Forbidden

出現urllib2.HTTPError: HTTP Error 403: Forbidden錯誤是由于網站禁止爬蟲,可以在請求加上頭信息,偽裝成瀏覽器。

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'}request = url_req.Request(url, headers=headers)response = url_req.urlopen(request, data=None, timeout=3)html = response.read().decode('GBK')

注意:這里存在兩個容易出問題的地方。
•編碼:編碼問題是使用爬蟲中有時候會很頭痛的問題,由于網頁源代碼編碼格式不明確,所以這里嘗試了許久。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渭源县| 呼和浩特市| 安丘市| 晋中市| 娱乐| 赤峰市| 山阴县| 新兴县| 察哈| 南城县| 中阳县| 江门市| 广宗县| 合肥市| 抚顺市| 克山县| 仪陇县| 綦江县| 波密县| 道孚县| 平安县| 新竹县| 林西县| 西城区| 襄汾县| 体育| 六枝特区| 江孜县| 东莞市| 济南市| 棋牌| 辰溪县| 永定县| 文成县| 蒲城县| 常熟市| 肥城市| 九寨沟县| 延安市| 田林县| 苗栗县|