python老男孩scrapy视频刷课记录
python全棧3 day96 02 抽屜示例:初識Scrapy并獲取新聞標題:主要講了scrapy的生成框架結構scrapy startproject day96、生成爬蟲模板(cd scrapy;scrapy genspider example)、單頁parse的xpath語法(//全局變量下的子孫,.//當前子孫變量,)。
python全棧3 day96 03 抽屜示例:遞歸獲取所有頁碼:分為兩部分,第一部分講了自己進行通過對url進行md5編碼,縮短url長度到固定長度,鏈接去重,第二部分主要講yield用于迭代以及depth_limit參數控制迭代深度。
python全棧3 day96 04 抽屜示例:基于pipeline實現標題和URL持久化。同樣分為了兩部分,定義了格式化的Item類。pipeline注意要注冊,不同的pipelines要根據spider.name進行判斷是否進行處理。
python全棧3 day97 01 Scrapy上節回顧。注意spider定義好域名限制allowed_domain = ["baidu.com"],遞歸時候會先判斷域名。同時還要注意start_requests可以重寫覆蓋等。注意response.meta中也可以有depth,是爬蟲中保存變量很重要的東西。
python全棧3 day97 02 去除重復URL。第一部分講了select相關的內容,同時注意//a/[@id]代表有id的a,//a/@id代表取a下面的id,還有a[contains(@href,"www.baidu.com")]一些條件判斷。
第二部分講了鏈接去重RFPDupeFilter,其中著重講了cls的使用。from_settings是classmethod實例化時使用obj = ClassA.from_settings()進行實例化,返回結果為cls()與staticmethod不同,staticmethod不帶cls參數。去重是借用文件request.seen進行去重的,擴展可以使用redis,緩存等。
python全棧3 day97 03 pipeline補充。open_spider打開io鏈接、close_spider關閉io鏈接以及from_crawler創建對象并引入配置文件,__init__進行數據的初始化。最后一個pipeline注意raise DropItem()
python全棧3 day97 04 自動登錄抽屜并點贊。主要講了在Scrapy中使用Post方式進行登錄點贊的操作。這里的自動登錄抽屜網中沒有顯示驗證碼等。登錄時候用的是yield Request(method="Post")的post方法賬戶密碼放入了post請求體,同時點贊的功能也是post做的。
python全棧3 day97 05 scrapy框架擴展。這節課的信息量很大,包括了scrapy的Extension擴展、hook(鉤子)的概念、以及進一步的信號量signal的注冊問題。
python全棧3 day97 06 配置文件。
講了以下幾個參數:
python全棧3 day98 01 Scrapy配置之自動限速以及緩存
python全棧3 day98 02 Scrapy之默認代理以及擴展代理
主要就是講了原生代理很難用,建議自定制,同時注意如果代理有密碼的情況加header參數 proxy-authority :? basic base64(name passwd)
python全棧3 day98 03 Scrapy之自定義Https證書
一般不常用
python全棧3 day98 04 Scrapy配置之下載中間件
今天看了下進度,感覺有一點點慢,在離職前能把scrapy的視頻看完,最深的目標是把scrapy的core里面twisted相關搞清楚,然后同步的早上要開始做leetcode了,下午可以用來學習,網上開發項目作總結,這個順序應該比較容易接受,因為同一個形式基本上搞三個小時就比較累了。一定記住從現在開始每天都要寫博客,堅持每天寫代碼,就像2011年開始那樣每天都在堅持健身中度過,新的十年,從2020年開始,寫程序就是我的健身,要用于去嘗試,去做記錄,去積累,同時不忘記健身,不給自己太大壓力,穩定住雙向情感障礙,即可。就這樣!今天還算可以,先睡覺了。
python全棧3 day98 04 Scrapy配置之下載中間件
注意一下middleware中的兩個函數process_request與process_response。
python全棧3 day98 05 Scrapy配置之爬蟲中間件
python全棧3 day98 06 Scrapy配置之自定義scrapy命令
主要講的是CrawlerProcessor和CrawlerRunner等類加載爬蟲,然后運行爬蟲。
python全棧3 day98 07 Scrapy源碼流程簡述
這部分主要從命令行開始講起,從CrawlerProcess和它的父類CrawlerRunner開始講,一直引申到twisted的deffer來實現異步的網頁下載。我按照視頻寫了一邊twisted異步下載3個鏈接的test.py感覺就是借助twisted讓回調代碼寫的好看一些,主要是用defer.DeferredList來加載任務,reactor來啟動run和終止stop。
另外清楚了爬蟲幾個隱藏的重要類,按照父類往下:
?
總結
以上是生活随笔為你收集整理的python老男孩scrapy视频刷课记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java图片二值化_实现图像的二值化(j
- 下一篇: 空间分析知识点总结