JS分析
!!!!! js分析 快速定位 js 代碼, 還原被混淆壓縮的 js 代碼
* js分析 郵箱地址加密 [email protected]
*** js分析 貓_眼_電_影 字體文件 @font-face
**** js分析 汽_車_之_家 js生成css僞元素 hs_kw44_configUS::before
Scrapy
Scrapy 隱含 bug: 強制關閉爬蟲後從 requests.queue 讀取的已保存 request 數量可能有誤
Scrapy 擴展中間件: 針對特定響應狀態碼,使用代理重新請求
Scrapy 擴展中間件: 同步/異步提交批量 item 到 MySQL
scrapy相關 通過設置 FEED_EXPORT_ENCODING 解決 unicode 中文寫入json文件出現`\uXXXX`
Django
Scrapy_redis
scrapy_redis 相關: 將 jobdir 保存的爬蟲進度轉移到 Redis
scrapy_redis 相關: 多線程更新 score/request.priority
Scrapyd
Scrapyd 改進第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出現中文亂碼
Scrapyd 改進第二步: Web Interface 添加 STOP 和 START 超鏈接, 一鍵調用 Scrapyd API
SpiderKeeper 添加 Stats 鏈接過濾 log 最新信息
代理/登錄/驗證碼
python之cookie, cookiejar 模擬登錄繞過驗證
網頁解析
lxml.etree.HTML(text) 解析HTML文檔
編碼
requests之headers 'Content-Type': 'text/html'誤判encoding爲'ISO-8859-1'導致中文text解碼錯誤
閱讀:
- Unicode In Python, Completely Demystified
- Decode early, Unicode everywhere, encode late
- 立即停止使用 setdefaultencoding('utf-8'), 以及爲什麼
- 也談 Python 的中文編碼處理
- PYTHON-進階-編碼處理小結
動態加載
scrapy相關:splash安裝 A javascript rendering service 渲染
selenium執行JavaScript語句:控制滾動條 聚焦元素 改變下拉選項
python模擬鼠標鍵盤操作 GhostMouse tinytask 調用外部腳本或程序 autopy右鍵另存爲
python 通過js控制滾動條拉取全文 通過psutil獲取pid窗口句柄,通過win32gui使程序窗口前置 通過autopy實現右鍵菜單和另存爲操作
數據提取
HTML 中的預留字符(如標籤的小於號 < )必須被替換爲字符實體( < )。 不間斷空格( )
HTML轉義字符&npsp;表示non-breaking space,unicode編碼爲u'\xa0',超出gbk編碼範圍?
python之使用 wkhtmltopdf 和 pdfkit 批量加載html生成pdf,適用於博客備份和官網文檔打包
數據庫
python之MySQL MySQLdb 推薦使用姿勢,解決中文亂碼