4-1 scrapy安裝以及目錄結構介紹
安裝scrapy可以看我另外一篇博文:Scrapy的安裝--------Windows、linux、mac等操作平台,現在是在虛擬環境中安裝可能有不同。
1.創建有python3的虛擬環境
mkvirtualenv --python=C:\Users\admin\AppData\Local\Programs\Python\Python35\python3.exe py3scrapy
2.安裝scrapy
進入環境py3scrapy,pip install -i https://pypi.douban.com/simple/ scrapy 豆瓣源安裝非常快。
3.補充
進入虛擬環境: workon py3scrapy
創建項目: scrapy startproject ArticleSpider
建立spider: scrapy genspider jobbole blog.jobbple.com
4-2 pycharm 調試scrapy 執行流程
1.運行爬蟲文件
建立一個main.py文件,在ArticleSpider文件目錄下
from scrapy.cmdline import execute
import sys,os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(['scrapy','crawl','jobbole'])
os.path.abspath(__file__) --------main.py目錄
dirname() --------main.py父目錄
2.要學會用斷點和DEBUG
在實戰中操作
4-3~5 xpath的用法
1.xpath簡介
- xpath使用路徑表達式在xml和html中進行導航。
- xpath包含標准函數庫。
- xpath是一個w3c的標准。
2.xpath節點關系
- 父節點
- 子節點
- 同胞節點
- 先輩節點
- 后代節點
3.xpath語法
4.補充
為什么有時候自己寫的xpath明明對的,卻獲取不到數據?
原因:F12產生的源碼,不同於網頁源代碼,前者可能是js加載完的源代碼。response.xpath()是根據網頁源代碼來提取信息的。
.
問題:No modle named ‘win32api’
解決: pip install -i https://pypi.douban.com/simple/ pypiwin32
.
contains()用法
response.xpath("//span[contains(@class, 'bookmark-btn')]/text()").extract()[0]
表示在span標簽中class屬性中含有 bookmark-btn 即為符合
.
正文保留html標簽,以便后續研究
.
scrapy shell url 調試xpath
如果在py3中就都顯示中文了
.
re.math(reg,html).group() #正則匹配
.
tag_list=['職場','2 評論','今昔']
[element for element in tag_list if not element.strip().endswith('評論')]
#結果['職場', '今昔']
4-6~7 css選擇器實現字段解析
作者:今孝
出處:http://www.cnblogs.com/jinxiao-pu/p/6713333.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。