Scrapy采集名人名言實(shí)驗(yàn)報(bào)告

工具/原料:

阿里云服務(wù)器、MobaXterm_v9.4/Xshell

實(shí)驗(yàn)?zāi)康模?/h5>

了解云服務(wù)器蒂阱、搭建虛擬環(huán)境盏阶、學(xué)習(xí)用Scrapy采集數(shù)據(jù)

主要內(nèi)容:
  1. 搭建云服務(wù)器
  2. 使用遠(yuǎn)程終端軟件連接到服務(wù)器
  3. 建立用戶組
  4. 進(jìn)入個(gè)人用戶搭建虛擬環(huán)境
  5. 創(chuàng)建數(shù)據(jù)采集項(xiàng)目
  6. 定義spider(在本地用文本編輯器編輯)并上傳到個(gè)人用戶文件夾中
  7. 執(zhí)行爬蟲
  8. 保存數(shù)據(jù)
  9. 數(shù)據(jù)格式轉(zhuǎn)換

在搭建云服務(wù)器的時(shí)候我們是小組一起做的亮蒋,選擇阿里云有兩個(gè)原因,一個(gè)是老師用的是阿里云懂傀,選擇這個(gè)可以避免在實(shí)驗(yàn)過程中出現(xiàn)不知道怎么解決的問題;另一個(gè)原因是聽其他人說阿里云對(duì)于學(xué)生有優(yōu)惠價(jià)格蜡感,其優(yōu)惠價(jià)格對(duì)于學(xué)生來說也比較能夠接受蹬蚁。另外恃泪,需要特別注意的是,一定要選好操作系統(tǒng)犀斋。我們當(dāng)時(shí)忽略了我們買的云服務(wù)器自帶的操作系統(tǒng)是CentOS 6.8 64位:


操作系統(tǒng).png

但是老師給的范例都是在Ubuntu的操作系統(tǒng)下進(jìn)行的贝乎,所以在剛開始搭環(huán)境的時(shí)候怎么做怎么不對(duì),做了很多無用功叽粹,后來請(qǐng)教了大神才知道使我們的操作環(huán)境跟執(zhí)行的代碼是不匹配的览效。
在創(chuàng)建虛擬環(huán)境的過程中,發(fā)現(xiàn)使用老師給的遠(yuǎn)程終端軟件MobaXterm的Session一段時(shí)間不進(jìn)行操作球榆,就老是容易斷開連接朽肥,如下圖所示:


1.png

在搭環(huán)境的過程中斷開的話又得重新連接,然后重新輸入命令持钉,所以在搭環(huán)境的過程中動(dòng)作一定要快衡招。
本來打算復(fù)制里面的文字去百度查一查有沒有什么能夠解決這種問題的,結(jié)果點(diǎn)擊Ctrl+C就關(guān)掉了搭環(huán)境的窗口每强,當(dāng)時(shí)還完全不知道發(fā)生了什么始腾,后來查資料才知道Ctrl+C表示強(qiáng)制停止當(dāng)前程序,事實(shí)告訴我們:不是什么都可以用Ctrl+C進(jìn)行復(fù)制的空执!Ctrl+C不一定就是復(fù)制的快捷鍵浪箭,這也告訴了我們生活中的一個(gè)小常識(shí),那就是不是所有東西都是一成不變的辨绊。奶栖。。所以本來想要搭建環(huán)境的過程圖都截下來门坷,現(xiàn)在都被關(guān)掉了宣鄙。。默蚌。所幸在強(qiáng)制關(guān)閉之前我截過一張圖:
2.png

MobaXterm的Session真的一直斷一直斷冻晤,一退出界面查找資料的功夫就又?jǐn)嚅_連接了,實(shí)在是太麻煩了绸吸,所以經(jīng)同學(xué)建議鼻弧,重新下載了一個(gè)遠(yuǎn)程終端軟件:Xshell。在使用的過程中發(fā)現(xiàn)了MobaXterm和Xshell各自的優(yōu)缺點(diǎn)锦茁,由于一開始就是用的是MobaXterm攘轩,所以有可能是因?yàn)橄热霝橹鞯脑颍丝偸嵌虝r(shí)間不進(jìn)行操作就會(huì)斷開連接以外码俩,界面?zhèn)€人覺得比Xshell更直觀撑刺,而且可以自己打開文件夾直觀的查看到有哪些文件,不需要輸入指令去查看握玛,但是確實(shí)老是斷開連接這個(gè)問題太煩人够傍。
由于斷開了連接甫菠,所以我直接在Xshell中激活并進(jìn)入之前搭好的虛擬環(huán)境即可。


3.png

在創(chuàng)建采集數(shù)據(jù)項(xiàng)目的時(shí)候出現(xiàn)了一點(diǎn)小錯(cuò)誤:
4.png

查看代碼冕屯,發(fā)現(xiàn)是因?yàn)槲抑耙呀?jīng)建立過這個(gè)采集數(shù)據(jù)的項(xiàng)目并且將py文件:
  import scrapy

  class QuotesSpider(scrapy.Spider):
    name = "hzz_quotes"

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1',
            'http://quotes.toscrape.com/page/2',
        ]

        for url in urls:
            yield scrapy.Request(url = url, callback = self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'hzz-quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
            self.log('Saved file %s' % filename)

上傳到了spider文件夾中寂诱,所以可以直接進(jìn)行查看了:


5.png

執(zhí)行爬蟲:


6.png

從代碼可知,執(zhí)行爬蟲之后安聘,我們得到了html文件:
7.png

找到并且保存:


8.png

但是在爬取json數(shù)據(jù):
import scrapy

class QuotesSpider(scrapy.Spider):

name="quotes"
start_urls=[
    'http://quotes.toscrape.com/page/1/',
]


def parse(self,response):
    for quote in response.css('div.quote'):
        yield {
            'text':quote.css('span.text::text').extract_first(),
            'author':quote.css('small.author::text').extract_first(),
            'tags':quote.css('div.tags a.tag::text').extract(),
        }

        next_page=response.css('li.next a::attr(href)').extract_first()
        if next_page is not None:
            next_page=response.urljoin(next_page)
            yield scrapy.Request(next_page,callback=self.parse)

的時(shí)候遇到了問題痰洒,總是爬取不到數(shù)據(jù),我仔細(xì)對(duì)過代碼浴韭,詢問過同學(xué)丘喻,也讓同學(xué)幫忙檢查了是不是哪里出錯(cuò)了,但是都沒找出來原因是什么念颈。

9.png

如圖所示泉粉,在保存json文件的時(shí)候,一直都處于文件傳輸狀態(tài)中榴芳,傳輸?shù)拇笮★@示的是0kb嗡靡,說明并沒有爬取到任何數(shù)據(jù)。
10.png

之后窟感,我就重新創(chuàng)建了一個(gè)數(shù)據(jù)采集項(xiàng)目讨彼,然后將本地編寫的Spiders文件上傳到相應(yīng)的文件夾中,最后執(zhí)行竟然就成功了:
11.png

12.png

并且成功的爬取到了數(shù)據(jù)并且保存成了json文件:
json文件.png

最后柿祈,將json文件轉(zhuǎn)化為XML文件(JSON與XML互轉(zhuǎn))哈误,然后進(jìn)行了一些修改:json文件轉(zhuǎn)換為XML文件

參考鏈接:
JSON與XML互轉(zhuǎn)
Linux云服務(wù)器下配置Scrapy并抓取數(shù)據(jù)
Scrapy相關(guān)知識(shí)

我的其他文章:網(wǎng)站robots.txt學(xué)習(xí)筆記——以豆瓣和淘寶為例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市躏嚎,隨后出現(xiàn)的幾起案子黑滴,更是在濱河造成了極大的恐慌,老刑警劉巖紧索,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異菜谣,居然都是意外死亡珠漂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門尾膊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媳危,“玉大人,你說我怎么就攤上這事冈敛〈Γ” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵抓谴,是天一觀的道長(zhǎng)暮蹂。 經(jīng)常有香客問我寞缝,道長(zhǎng),這世上最難降的妖魔是什么仰泻? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任荆陆,我火速辦了婚禮,結(jié)果婚禮上集侯,老公的妹妹穿的比我還像新娘被啼。我一直安慰自己,他們只是感情好棠枉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布浓体。 她就那樣靜靜地躺著,像睡著了一般辈讶。 火紅的嫁衣襯著肌膚如雪命浴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天荞估,我揣著相機(jī)與錄音咳促,去河邊找鬼。 笑死勘伺,一個(gè)胖子當(dāng)著我的面吹牛跪腹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播飞醉,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼冲茸,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了缅帘?” 一聲冷哼從身側(cè)響起轴术,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钦无,沒想到半個(gè)月后逗栽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡失暂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年彼宠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弟塞。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凭峡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出决记,到底是詐尸還是另有隱情摧冀,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站索昂,受9級(jí)特大地震影響建车,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜楼镐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一癞志、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧框产,春花似錦凄杯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至描睦,卻和暖如春膊存,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忱叭。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工隔崎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人韵丑。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓爵卒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親撵彻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钓株,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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