scrapy學習筆記一 —— 建立jobbole小爬蟲
阿新 • • 發佈:2018-12-17
一、安裝scrapy
- 建立虛擬環境
- 執行命令:conda create -n scrapy python=3.7 ,會在anaconda安裝目錄下的envs資料夾下創建出scrapy執行環境:~/anaconda3/envs/scrapy/
- 切換到剛剛建立的scrapy虛擬環境,執行命令:pip install scrapy
- pycharm設定剛剛建立的直譯器
二、建立爬蟲py檔案
import scrapy
class JobboleSpider(scrapy.Spider): # 繼承自scrapy的Spider類
name = 'jobbole' # 爬蟲名稱
start_urls = ['http://blog.jobbole.com/all-posts/'] # 種子url
def parse(self, response): # 引數response為種子url的response,parse為start_urls的預設回撥的解析方法
for href in response.css("a.archive-title::attr(href)"): # css選擇器
full_url = response.urljoin(href.extract()) # 獲取到絕對url
yield scrapy. Request(full_url, callback=self.parse_article) # 為該url設定回撥解析方法
def parse_article(self, response): # 文章解析方法
yield {
'title': response.css("div.entry-header h1::text").extract()[0], # css選擇器
'date': response.css("p.entry-meta-hide-on-mobile::text").extract()[0].replace( '·', '').strip(), # css選擇器
}
三、執行爬蟲
- 回到剛剛的命令列執行命令:scrapy runspider jobbole_spider.py -o jobbole.json -s FEED_EXPORT_ENCODING=UTF-8(注意如果不加上-s FEED_EXPORT_ENCODING=UTF-8的話,中文會顯示為unicode),執行完成後,就會在當前目錄下面看到jobbole.json