摘要:抓取代碼片段目標(biāo)抓取中的代碼片段分析代碼分享你的世界代碼塊發(fā)布代碼片段片段列表一個(gè)線程如果是個(gè)人英雄主義,那么多線程就是集體主義,你不再是一個(gè)獨(dú)行俠,而是一個(gè)指揮家。
CodeSnippet 抓取代碼片段 目標(biāo)
抓取CodeSnippet中的代碼片段
分析 代碼我們想要抓取的內(nèi)容在為 li class="con-code bbor" 所以 BeautifulSoup find()方法獲取到該標(biāo)簽然后獲取其文本內(nèi)容
準(zhǔn)備準(zhǔn)備我們爬蟲(chóng)比用的兩個(gè)模塊
from urllib2 import urlopen from bs4 import BeautifulSoup編寫(xiě)抓取代碼
# 抓取http://www.codesnippet.cn/index.html 中的代碼片段 def GrapIndex(): html = "http://www.codesnippet.cn/index.html" bsObj = BeautifulSoup(urlopen(html), "html.parser") return bsObj.find("li", {"class":"con-code bbor"}).get_text()
當(dāng)我們抓取到我們想要的數(shù)據(jù)之后接下來(lái)要做的就是把數(shù)據(jù)寫(xiě)到數(shù)據(jù)庫(kù)里,由于我們現(xiàn)在抓取數(shù)據(jù)簡(jiǎn)單,所以只寫(xiě)文件即可!
def SaveResult(): codeFile=open("code.txt", "a") # 追加 for list in GrapIndex(): codeFile.write(list) codeFile.close()當(dāng)我們?cè)趯?xiě)文件的時(shí)候出現(xiàn)了以下錯(cuò)誤,而下面這個(gè)錯(cuò)誤的造成原因則是由于python2.7是基于ascii去處理字符流,當(dāng)字符流不屬于ascii范圍內(nèi),就會(huì)拋出異常(ordinal not in range(128))
分析UnicodeEncodeError: "ascii" codec can"t encode character u"u751f" in position 0: ordinal not in range(128)
解決辦法python2.7是基于ascii去處理字符流,當(dāng)字符流不屬于ascii范圍內(nèi),就會(huì)拋出異常(ordinal not in range(128))
import sys reload(sys) sys.setdefaultencoding("utf-8")完整代碼展示
from urllib2 import urlopen from bs4 import BeautifulSoup import os import sys reload(sys) sys.setdefaultencoding("utf-8") def GrapIndex(): html = "http://www.codesnippet.cn/index.html" bsObj = BeautifulSoup(urlopen(html), "html.parser") return bsObj.find("li", {"class":"con-code bbor"}).get_text() def SaveResult(): codeFile=open("code.txt", "a") for list in GrapIndex(): codeFile.write(list) codeFile.close() if __name__ == "__main__": for i in range(0,9): SaveResult()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38298.html
摘要:包括爬蟲(chóng)編寫(xiě)爬蟲(chóng)避禁動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù)抓取部署分布式爬蟲(chóng)系統(tǒng)監(jiān)測(cè)共六個(gè)內(nèi)容,結(jié)合實(shí)際定向抓取騰訊新聞數(shù)據(jù),通過(guò)測(cè)試檢驗(yàn)系統(tǒng)性能。 1 項(xiàng)目介紹 本項(xiàng)目的主要內(nèi)容是分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。主要有以下幾個(gè)部分來(lái)介紹: (1)深入分析網(wǎng)絡(luò)新聞爬蟲(chóng)的特點(diǎn),設(shè)計(jì)了分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)爬取策略、抓取字段、動(dòng)態(tài)網(wǎng)頁(yè)抓取方法、分布式結(jié)構(gòu)、系統(tǒng)監(jiān)測(cè)和數(shù)據(jù)存儲(chǔ)六個(gè)關(guān)鍵功能。 (2)結(jié)合程序代碼分解說(shuō)...
摘要:話題精華即為知乎的高票回答。下面的項(xiàng)目中還包含了另外一個(gè)爬取的知乎的動(dòng)態(tài)。 作者:William本文為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明作者及出處 Electron 可以讓你使用純 JavaScript 調(diào)用 Chrome 豐富的原生的接口來(lái)創(chuàng)造桌面應(yīng)用。你可以把它看作一個(gè)專(zhuān)注于桌面應(yīng)用的 Node.js 的變體,而不是 Web 服務(wù)器。其基于瀏覽器的應(yīng)用方式可以極方便的做各種響應(yīng)式的交互,接下來(lái)介...
摘要:通用網(wǎng)絡(luò)爬蟲(chóng)通用網(wǎng)絡(luò)爬蟲(chóng)又稱(chēng)全網(wǎng)爬蟲(chóng),爬取對(duì)象從一些種子擴(kuò)充到整個(gè)。為提高工作效率,通用網(wǎng)絡(luò)爬蟲(chóng)會(huì)采取一定的爬取策略。介紹是一個(gè)國(guó)人編寫(xiě)的強(qiáng)大的網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)并帶有強(qiáng)大的。 爬蟲(chóng) 簡(jiǎn)單的說(shuō)網(wǎng)絡(luò)爬蟲(chóng)(Web crawler)也叫做網(wǎng)絡(luò)鏟(Web scraper)、網(wǎng)絡(luò)蜘蛛(Web spider),其行為一般是先爬到對(duì)應(yīng)的網(wǎng)頁(yè)上,再把需要的信息鏟下來(lái)。 分類(lèi) 網(wǎng)絡(luò)爬蟲(chóng)按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),...
摘要:通用網(wǎng)絡(luò)爬蟲(chóng)通用網(wǎng)絡(luò)爬蟲(chóng)又稱(chēng)全網(wǎng)爬蟲(chóng),爬取對(duì)象從一些種子擴(kuò)充到整個(gè)。為提高工作效率,通用網(wǎng)絡(luò)爬蟲(chóng)會(huì)采取一定的爬取策略。介紹是一個(gè)國(guó)人編寫(xiě)的強(qiáng)大的網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)并帶有強(qiáng)大的。 爬蟲(chóng) 簡(jiǎn)單的說(shuō)網(wǎng)絡(luò)爬蟲(chóng)(Web crawler)也叫做網(wǎng)絡(luò)鏟(Web scraper)、網(wǎng)絡(luò)蜘蛛(Web spider),其行為一般是先爬到對(duì)應(yīng)的網(wǎng)頁(yè)上,再把需要的信息鏟下來(lái)。 分類(lèi) 網(wǎng)絡(luò)爬蟲(chóng)按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),...
閱讀 3266·2021-11-18 10:02
閱讀 1469·2021-10-12 10:08
閱讀 1271·2021-10-11 10:58
閱讀 1285·2021-10-11 10:57
閱讀 1183·2021-10-08 10:04
閱讀 2138·2021-09-29 09:35
閱讀 787·2021-09-22 15:44
閱讀 1284·2021-09-03 10:30