1.scrapy基礎知識

1、基礎知識chrome

1.網絡爬蟲編程

(1)爬蟲的分類json

         通用網絡爬蟲:又稱全網爬蟲,常見的有百度和Google等搜索引擎,爬行對象從一些初始URL擴充到整個網絡,主要爲門戶站點搜索引擎和大型網站服務採集數據,這在網絡上一般稱爲搜索引擎瀏覽器

  聚焦網絡爬蟲、增量式網絡爬蟲、深層網絡爬蟲:這類爬蟲比較有目的,也就是網絡上常常說的網絡爬蟲網絡

(2)反爬蟲技術及解決方案app

  • 用戶請求的Headers:從用戶請求的Headers反爬蟲是最多見的反爬蟲策略,不少網站會對Headers的User-Agent進行檢測,若是遇到這類反爬蟲機制,就能夠在爬蟲代碼中添加Headers請求頭,將瀏覽器的請求信息以字典的數據格式寫入爬蟲的請求頭
  • 用戶操做網站行爲
  • 網站目錄數據加載方式
  • 數據加密
  • 驗證碼識別

2.chrome分析網站scrapy

(1)五大主流瀏覽器:IE,Opera,Google chrome,Firefox,Safari,其中chrome和Firefox是編程開發首選,主要是二者的運行速度、擴展性和用戶體驗都符合開發人員所需,其中chrome對HTML5和CSS3的支持也比較完善。ide

(2)開發者工具的界面共有9個標籤頁,分別是:Elements, console,source,network,performance,memory,application,security,audits,其中爬蟲要掌握network和elements就能知足大多數爬蟲的需求,其中network是最核心的部分函數

 

 

2、json文件函數工具

1. json.dumps():將Python對象編碼成JSON字符串

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

 

2. json.loads():將已編碼的JSON字符串解碼成Python對象

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

3、scrapy函數

1scrapy.Request(url,callback,method,meta,headers)

    其中callback指定一個回調函數,該回調函數一這個request的response做爲第一個參數,若是未指定callback,則默認使用spider的parse()方法;

meta(dict):指定Request.meta屬性的初始值,若是給了該參數,dict將會淺拷貝;一個dict,包含request的任意元數據。該dict在新Requests中爲空,當Scrapy的其餘擴展啓用的時候填充數據。dict在傳輸是淺拷貝。(淺拷貝只是增長了一個好指針指向已經存在的內存,而深拷貝就是增長一個指針而且 申請一個新的內存,使這個指針指向新的內存,採用深拷貝的狀況下,釋放內存的時候就不會出如今淺拷貝是重複釋放同一內存的錯誤

method(string):HTTP請求的方法,默認爲GETheaders(dict):request的頭信息。

相關文章
相關標籤/搜索