xpath語法(二)
xpath選擇器
爬取從頁面提取的url
scrapy的item模組
將爬取資料儲存到檔案中
爬取動態網頁
**反爬蟲
爬蟲的反反爬策略
user agent介紹
cookie的介紹
檢視cookie
使用cookie使爬蟲突破登入限制
網路資料採集模型
pyspider爬蟲框架
scrapy爬蟲框架
配置scrapy環境變數
建立scrapy專案的命令
建立spider
啟動spider
屬性或方法
作用url
當前返回資料所對應的頁面url
status
http請求狀態碼
meta
用於request與response之間的資料傳遞
body
返回頁面html原始碼,如用純正規表示式匹配資料需要獲取頁面html原始碼
xpath()
使用xpath選擇器解析網頁
css()
使用css選擇器解析網頁
css選擇器
正規表示式
表示式描述
nodename
選取的節點名
/從根節點擊取
//選取所有符合條件的節點,而不考慮它們的位置
·選取當前節點
…選取當前節點的父節點
@選取屬性
路徑表示式
結果/bookstore
選取元素bookstore
/bookstore/book
選取屬於bookstore的子元素的所有book元素
//book
選取所有book子元素,而不管它們在文件中的位置
/bookstore//book
選取屬於bookstore元素的後代的所有book元素,而不管它們位於bookstore之下的什麼位置
//@lang
選取名為lang的所有屬性
/bookstore/book/text()
選取屬於bookstore的子元素的所有book元素的文字
路徑表示式
結果/bookstore/book[1]
選取屬於bookstore子元素的第乙個book元素
//title[@lang]
選取所有擁有名為lang的屬性的title元素
//title[@lang=『eng』]
選取所有擁有值為eng的lang屬性的title元素
獲取選擇器的網頁資料
extract_first()
提取url發起http請求
使用yield返回request物件
request與對應的response傳遞資料
定義item
使用item
使用yield返回item
預設支援的格式
使用feed exports的方法
feed_format
='csv'
feed_uri
= 『quotes.csv』
動態網頁的特點
**反爬蟲的其他原因
**反爬蟲手段舉例
設定賬號登入時長,賬號訪問過多封禁
彈出數字驗證碼和確認驗證碼
對api介面的限制
自然人瀏覽的特點
scrapy反反爬功能實現
相關配置 配置
預設值說明
download_delay
0單位秒,爬取間隔時間為(0.5~1.5)*download_delay
concurrent_requests_per_domain
16scrapy ********** 併發請求的最大值
concurrent_requests_per_domain
16對單個**進行併發請求的最大值
concurrent_requests_per_ip
0對單個ip進行併發請求的最大值
user agent的作用
檢視瀏覽器ua的方法
檢視scrapy爬蟲ua的方法
編寫的useragent中介軟體的基類
設定settings.py檔案設定相應的配置和屬性
cookie的有效性
cookie就是用來繞開http的無狀態性的
伺服器可以設定或讀取cookies中包含資訊,藉此維護使用者跟伺服器的狀態
cookie常用於保持使用者登入狀態
在構造request是設定cookie屬性
使用cookie登入的優缺點
缺點:
Python資料爬取
二.scrapy爬蟲框架 資料 網路資料採集模型 第三方庫實現爬取 pyspider爬蟲框架 scrapy爬蟲框架 安裝scrapy 配置scrapy環境變數 建立scrapy專案的命令 建立spider 使用python指令碼執行命令列啟動爬蟲 from scrapy.cmdline import...
Python爬取疫情資料
實現 輸出結果 import requests 請求庫 import pandas as pd 日期 today time.strftime y m d time.localtime format y 年 m 月 d 日 url 請求頭 headers 傳送請求 response requests....
python入門 資料爬取
很多人剛開始學習python的時候,都會聽到python能做爬蟲 資料分析等,但是為什麼要用它來做爬蟲有所不知,今天我們就來好好聊聊。做爬蟲的需求一般都是出自於實際應用的需要,比如某某 上有你喜歡的mm,你想把這些高畫質 儲存到本地。比如做安全掃瞄時,一般 都會封ip,那這個時候就需要在 爬取多個 ...