快速安裝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,就是我們剛剛所寫的對應的代碼