selenium模擬鼠標小結

滑塊驗證碼的嘗試博客地址: https://cloud.tencent.com/developer/article/1191105

 

ActionChains方法:

move_to_element(to_element)  ----  鼠標移動到某個元素

click_and_hold(on_element = None)  --- 點擊鼠標左鍵,不鬆開

move_by_offset(xoffset, yoffset)   ---- 鼠標從當前位置移動到某個座標

release(on_element = None) --  在某個元素位置鬆開鼠標左鍵

perform()  ---- 執行操作,這個很重要,調用上面的方法後,一定要執行perform才能真正執行

 

崔慶才大神的網絡爬蟲乾貨總結鏈接: https://cloud.tencent.com/developer/article/1366434

從抓取、解析、存儲、反爬、加速五個方面介紹了Python進行網絡爬蟲開發的相關知識點和技巧,

一。 抓取

服務端渲染:   使用基本的HTTP請求庫就可抓取, 應用最多的是requests

客戶端渲染方法有四種:

1. 尋找Ajax接口, 通過設置代理來查看接口比如 Fiddler/Charles;

2. 模擬瀏覽器執行, 適用於網絡接口和邏輯較複雜情況, 直接抓可見數據, 比如 Selenium, Spynner, pyppeteer, PhantomJs等;

3. 直接提取JS數據, 直接使用正則表達式;

4. 模擬執行JS, 直接執行相關的JS來完成邏輯處理和接口請求,比如Selenium, PyExecJS, PyV8, js2py等庫

二、 解析

HTML解析: 正則、XPath、 CSS selector

JSON解析: Json庫

智能解析:  readability算法, 疏密度,Scrapyly自學習,深度學習

三、存儲

文件: JSON, CSV, TXT等, csv, xlwt, json, pandas等

數據庫: 關係型數據庫,非關係型數據庫, pymysql, pymssql, redis-py, pymongo等

搜索引擎: Solr, ElasticSearch 便於檢索和實現文本匹配

雲存儲: 七牛雲、阿里雲、騰訊雲等

四、 反爬  包括:非瀏覽器檢測、封IP、驗證碼、封賬號、字體反爬

封IP:  1. 手機站點、App站點;2. 使用代理; 3. 在代理基礎上維護代理池;4. 搭建ADSL撥號代理

驗證碼:

1. 普通圖形驗證碼, 使用OCR識別,機器學習、深度學習模型訓練等,打碼平臺簡便

2. 算術題驗證碼, 推薦 打碼平臺

3. 滑動驗證碼, 可以破解算法,也可以模擬滑動,或者對接打碼平臺(超級鷹),深度學習訓練識別接口等;

4. 點觸驗證碼, 推薦打碼平臺

5. 手機驗證碼,使用驗證碼分發平臺

6. 掃二維碼, 人工掃碼或 對接打碼平臺

封賬號:

1. 手機站或APP站點, 校驗較弱;

2. 尋找無登錄接口

3. 維護Cookies池, 使用批量賬號模擬登陸, 實現鏈接:https://github.com/Python3WebSpider/CookiesPool

五、加速

多線程、多進程: threading或multiprocessing

異步: 使用asyncio, aiohttp, Tornado, pyspider

分佈式: pyspider, Scrapy-Redis

優化: 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章