一週搞定scrapy之第一天--爬取起點中文小說網

快速安裝scrapy

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy

安裝完成之後在cmd裏面輸入scrapy
在這裏插入圖片描述

如果出現以上的情況,說明已經安裝成功了

新建scrapy項目,我們不能直接在pycharm裏面新建,我們要在cmd新建

scrapy startproject +名字   ## 前提進入該文件夾

下面的這個代表我的項目文件夾,然後我們再進去

在這裏插入圖片描述

下面這個文件夾代表了scrapy的框架

接着我們找要爬取的網站,按f12

在這裏插入圖片描述

然後我們開始寫代碼

目錄如下

在這裏插入圖片描述

#-*-coding:utf-8-*-
from scrapy import Request
from scrapy.spiders import Spider
class HotSalesSpider(Spider):
    #定義爬蟲名稱
    name = 'hot'
    #起始的URL列表
    start_urls = ["https://www.qidian.com/rank/hotsales?style=1"]
    #解析函數
    def parse(self, response):
        #使用xpath定位到小說內容的div元素
        list_selector = response.xpath("//div[@class='book-mid-info']")
        #依次讀取每部小說的元素,從中獲取名稱、作者、類型和形式
        for one_selector in list_selector:
            #獲取小說名稱
            name = one_selector.xpath("h4/a/text()").extract()[0]
            #獲取作者
            author = one_selector.xpath("p[1]/a[1]/text()").extract()[0]
            #獲取類型
            type = one_selector.xpath("p[1]/a[2]/text()").extract()[0]
            #獲取形式(連載/完本)
            form = one_selector.xpath("p[1]/span/text()").extract()[0]
            #將爬取到的一部小說保存到字典中
            hot_dict = {"name":name,   #小說名稱
                     "author":author,  #作者
                     "type":type,      #類型
                     "form":form}      #形式
            #使用yield返回字典
            yield hot_dict

寫完之後保存,我們用cmd進入scrapy文件夾

在這裏插入圖片描述
輸入以下命令

scrapy crawl hot -o hot.csv

爲什麼會有hot那,因爲我們定義了一個hot的爬蟲名字

在這裏插入圖片描述

運行結束會出現下面的結果

在這裏插入圖片描述
然後我們打開scrapy文件夾,裏面會多出來一個csv文件,我們用文本編輯器打開

在這裏插入圖片描述

name,author,type,form,就是我們剛剛所寫的對應的代碼

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章