CrawlSpider ---> 通用爬蟲 項目流程


通用爬蟲

通用網絡爬蟲 從互聯網中搜集網頁,采集信息,這些網頁信息用於為搜索引擎建立索引從而提供支持,它決定着整個引擎系統的內容是否豐富,信息是否即時,因此其性能的優劣直接影響着搜索引擎的效果。

不扯沒用的,上干貨!

創建項目:

  cmd 命令: scrapy startproject 項目名 

創建

  cmd 命令:scrapy genspider -t crawl 爬蟲名 允許爬取得域名

在spider文件 主爬蟲文件.py中 替換 start_urls 為要爬取的網址!

在rules中進行指定規則:
  ps:規則制定時選中的必須是標簽,或正則匹配連接地址(可跳轉性)
rules = (
Rule(LinkExtractor(allow=r'/sort/?st=product&sort=A\[A-Z]'), follow=True), # 參數: allow 正則選擇要滿足的需求特點 deny :一定不取得特點
Rule(LinkExtractor(restrict_xpaths="//a[text()='»']"), follow=True),    # 參數 restrict_xpaths 用xpath 反向選擇或手寫xpath取要滿足的需求特點
Rule(LinkExtractor(restrict_xpaths="/html/body/div[4]/div/div[2]/div[4]/div/div[1]/div/a"), callback='parse_data',follow=False), # 拷貝xpath選擇要滿足的需求特點
)

 ps:   

  LinkExtractor()   鏈接提取器  對選中連接或標簽進行操作
  follow=True 同位置 繼續 提取需求標簽
  follow=False 停止 或 不在 同位置繼續提取需求標簽
  clllback='一個函數名' follow=True 時 沒有太大必要使用,除非該頁有需求值 follow=False 時 說明你到了目標數據位置 這是把請求的響應拋給了該函數

而到了函數,就可以利用xpath取值了,封裝進item里就可以了,這里item不需要你實例化了item= {}就可以了 通用爬蟲幫你做了

最后yield item

主爬蟲就寫完了。

然后 --》 ???
然后的是就和普通scrapy一樣了,
settings.py 里配置 在之前寫的博文里有,自行去查看
item.py 里 設置需求數據字段
pipelines.py 對數據隊列 進行操作

Ps:
了解不深,個人看法:
其實理解這個通用爬蟲不難:
就一句話:
  需要注意的點就在rules這塊對吧,我的理解就是,這是在宏觀意義上給你要提取輸得位置進行制定規則,可以理解為定位,所有滿足特點的位置就是我需求數據存放的位置!


好了 就到這里! 簡單吧 !
  
  其他的? 自己悟把!哈哈哈!



 


免責聲明!

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



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