第4章 scrapy爬取知名技術文章網站(1)


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

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM