建立專案
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...