scrapy 爬取詩詞 記錄code

2021-09-19 14:14:10 字數 2243 閱讀 4604

建立專案

scrapy startproject poems
建立爬蟲應用

cd poems\poems\spiders

scrapy genspider 名字 網域名稱

scrapy genspider poem_spider www.gushiwen.org

在poem_spider.py中 修改啟始url

start_urls =

['']

在items中定義資料結構

class

poemsitem

(scrapy.item)

: title = scrapy.field(

)# 題目

dynasty = scrapy.field(

)# 朝代

author = scrapy.field(

)# 作者

content = scrapy.field(

)# 內容

tags = scrapy.field(

)# 標籤 tags

settings中設定

user_agent =
設定乙個啟動檔案main.py

from scrapy.cmdline import execute

import sys

import os))

execute(

["scrapy"

,"crawl"

,"poem_spider"

])

編寫爬蟲

shell除錯

# 爬蟲名

allowed_domains =

['www.gushiwen.org'

]# 允許的網域名稱

start_urls =

['']# 入口url

defparse

(self, response)

: docs = response.css(

".left .sons"

)for doc in docs:

poem_tiem = poemsitem(

) poem_tiem[

'title'

]= doc.css(

"b::text"

).extract()[

0]poem_tiem[

'dynasty'

],poem_tiem[

'author'

]= doc.css(

".source a::text"

).extract(

) poem_tiem[

'content']=

"".join(doc.css(

".contson::text"

).extract())

.strip(

) poem_tiem[

'tags']=

",".join(doc.css(

".tag a::text"

).extract())

yield poem_tiem

next_link = response.css(

".pagesright .amore::attr(href)"

)if next_link:

next_link = next_link[0]

.extract(

)yield scrapy.request(

""+ next_link)

儲存到json檔案裡

scrapy crawl poem_spider -o test.json

儲存到scv裡

scrapy crawl poem_spider -o test.csv

scrapy 爬取流程

什麼時候到pipeline,什麼 時候到spider這個就不說了,這個是框架跳轉到的流程 關鍵是訪問之前要登入怎麼辦,資料還要注入呢 這是個列表,裡面就是爬取的鏈結了 我們前面爬取就只是寫了乙個,但是其實可以寫多個 鏈結又是怎麼訪問的呢 這東西你就可以手動提取鏈結返回了 這東西你就得好好注意了 從入...

scrapy 爬取小說

速度是相當的快的 爬取整站的 最後結果儲存至mongodb資料庫 pycharm開發還是很好用的 建立專案 scrapy startproject daomubiji 執行專案 scrapy crawl daomubi settings default request headers items t...

scrapy爬取噹噹

import scrapy from items import dangdangitem class ddspider scrapy.spider name dd allowed domains dangdang.com start urls def parse self,response 使用xp...