2017/4/18爬蟲作業(yè)

作業(yè)代碼

# -*- coding: utf-8 -*-
import lxml
import requests
import re 
import sys
from bs4 import BeautifulSoup
import csv
reload(sys)
sys.setdefaultencoding("utf-8")



def get_data(link):
    headers = {"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"}
    #link = 'http://www.reibang.com/trending/weekly?utm_medium=index-banner-s&utm_source=desktop'
    html = requests.get(link, headers=headers)
    soup = BeautifulSoup(html.content, 'html.parser')


    total = []
    total_data = soup.findAll("div", {"class": "content"})
    for alone_data in total_data:
        alone = []
        author = alone_data.find("a", {"class": "blue-link"}).get_text()
        title = alone_data.find("a", {"class": "title"}).get_text()
        meta = alone_data.find("div", {"class": "meta"})
        read_num = meta.findAll("a", {"target": "_blank"})[0].get_text()
        comment_num = meta.findAll("a", {"target": "_blank"})[1].get_text()
        like_num = meta.findAll("span")[0].get_text()
        post_date = alone_data.span['data-shared-at']
        alone.append(post_date)
        alone.append(author)
        alone.append(title)
        alone.append(read_num)
        alone.append(comment_num)
        alone.append(like_num)
        try:
            money_num = meta.findAll("span")[1].get_text()
            alone.append(money_num)
        except:
            alone.append("沒(méi)贊賞")
        total.append(alone)
    return total



    

if __name__ == "__main__":
    f = file('jian.csv', 'wb')
    f.write('\xEF\xBB\xBF')
    writer = csv.writer(f)
    for i in range(1,6):
        link = 'http://www.reibang.com/trending/weekly?&page=%s' %i
        print "正在處理" + str(i)
        p = get_data(link)
        for m in p:
            writer.writerow(m)
    f.close()
    print "處理完畢"

作業(yè)結(jié)果

作業(yè)結(jié)果
作業(yè)的結(jié)果

作業(yè)的思路

本來(lái)是打算用scrapy的休溶,但是由于才剛開始看scrapy文檔房官,就卡在輸出item上了淹辞,就還是選擇了老套路哩陕,單線程爬蟲贰剥。
思路比較簡(jiǎn)單清笨,就是找標(biāo)簽只搁,不過(guò)在異步加載這里卡了挺久的突倍,由于做爬蟲的經(jīng)驗(yàn)也比較少队伟,沒(méi)有遇到過(guò)有異步加載的網(wǎng)站穴吹,只見過(guò)一個(gè)視頻里有講到過(guò)異步加載,也只是一筆帶過(guò)嗜侮,只記得是構(gòu)造表單港令,經(jīng)過(guò)一陣觀察,只看到兩個(gè)比較可能的地方
可能一锈颗、

page2

看到這顷霹,想到了構(gòu)造表單,但是發(fā)現(xiàn)有很多id击吱,也沒(méi)有辦法來(lái)構(gòu)造表單淋淀,無(wú)奈放棄,另找出路
可能二覆醇、

注意page2

這里也出現(xiàn)了一個(gè)page2朵纷,但是看到這么一長(zhǎng)串的id號(hào),實(shí)在是嚇人永脓,一開始不太相信袍辞,但是又看了下另一個(gè)page3

注意page3

于是聯(lián)想,有沒(méi)有這樣一種可能常摧,每個(gè)七天榜的id都是不一樣的搅吁,id也許與頁(yè)面無(wú)關(guān)威创,又嘗試了一下,把id刪了谎懦,只保留page=x肚豺,于是有

分頁(yè)展示

接下來(lái)的事情就簡(jiǎn)單了...

在作業(yè)中遇到的坑

坑一、在調(diào)試的過(guò)程中界拦,總是被return的位置所困擾详炬,以至于得不到想要的結(jié)果,說(shuō)明自己在邏輯判斷這一塊還是有所欠缺
坑二寞奸、關(guān)于寫入到csv文件中呛谜,在輸出的到csv文件中,并轉(zhuǎn)化成excel文件后枪萄,發(fā)現(xiàn)read_numcomment_num這兩列無(wú)法排序隐岛,糾其原因,是無(wú)法選取其值瓷翻,將他們復(fù)制下來(lái)到文本中聚凹,發(fā)現(xiàn)多了幾個(gè)引號(hào):

無(wú)法顯示值
多了引號(hào)

想來(lái)想去,都不知道是什么原因齐帚,不知道如何改正妒牙,只能自己手動(dòng)清洗一下

要改進(jìn)的地方

  1. 單線程爬蟲還是太慢了,保存的方式也是有限的对妄,更應(yīng)該用scrapy來(lái)寫湘今,為日后大數(shù)據(jù)爬取打下基礎(chǔ)
  2. 由于時(shí)間比較趕,也沒(méi)有來(lái)得急進(jìn)行分詞剪菱,和統(tǒng)計(jì)并進(jìn)行分析摩瞎,也說(shuō)明自己在寫爬蟲這一方面還是不太熟練,總是要翻文檔
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孝常,一起剝皮案震驚了整個(gè)濱河市旗们,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌构灸,老刑警劉巖上渴,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喜颁,居然都是意外死亡稠氮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門洛巢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)括袒,“玉大人,你說(shuō)我怎么就攤上這事稿茉。” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵漓库,是天一觀的道長(zhǎng)恃慧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)渺蒿,這世上最難降的妖魔是什么痢士? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮茂装,結(jié)果婚禮上怠蹂,老公的妹妹穿的比我還像新娘。我一直安慰自己少态,他們只是感情好城侧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彼妻,像睡著了一般嫌佑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侨歉,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天屋摇,我揣著相機(jī)與錄音,去河邊找鬼幽邓。 笑死炮温,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的牵舵。 我是一名探鬼主播茅特,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棋枕!你這毒婦竟也來(lái)了白修?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤重斑,失蹤者是張志新(化名)和其女友劉穎兵睛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窥浪,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祖很,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漾脂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片假颇。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖骨稿,靈堂內(nèi)的尸體忽然破棺而出笨鸡,到底是詐尸還是另有隱情姜钳,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布形耗,位于F島的核電站哥桥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏激涤。R本人自食惡果不足惜拟糕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望倦踢。 院中可真熱鬧送滞,春花似錦、人聲如沸辱挥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)般贼。三九已至愧哟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哼蛆,已是汗流浹背蕊梧。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腮介,地道東北人肥矢。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像叠洗,于是被迫代替她去往敵國(guó)和親甘改。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容