現在很多**都會用到前後端分離的開發策略,前端只是負責渲染,資料通過其他路由去獲取,比如如果你直接用get方式請求這個網頁的話是獲取不到主要內容的(比如這個例子中**中的資料),因為沒有執行他請求資料的js,提示可以通過chrom瀏覽器network觀察他真實請求資料的url,這裡用了一種非同步的技術。
真實請求資料的url為:這樣對於我們爬蟲也有乙個好處就是我們不用再去解析網頁內容,只要找到請求資料的介面(一般結合返回的資料格式都是json的,很規範),就很容易獲取到自己想要的內容。
其中傳遞的引數有page(表示頁碼),rows(表示每頁的條數)
''# 需要post的url
for page in
range(1
,33):
# 多少頁:32頁
data =
# 需要post的資料
res = requests.post(url, data)
.json(
)# 獲取post的返回資料,也可以採用.text方法獲取網頁內容
(res)
# 檢視返回內容
items = res[
'rows'
]# 提取主要內容
for item in items:
# 獲取對應的資訊
關於json格式的介紹:
使用chrom瀏覽器network檢視前後臺資料傳輸請求:
不同瀏覽器前端除錯檢視返回頁面的json資料:
爬取獵聘網職位 requests bs4
本人傾向於用bs4匹配,資料量不大,怎麼簡單怎麼來了 最後寫入json檔案import requests import json from bs4 import beautifulsoup url defget page 獲取頁數 職業 page input 請輸入頁數 job input 請輸入職...
用requests bs4庫爬取各地大學高校排名
import requests from bs4 import beautifulsoup import bs4 defgethtmltext url 提取 try 爬取網頁的通用 框架 r requests.get url,timeout 30 r.raise for status return ...
怎樣使用php curl擴充套件進行多執行緒post資料
怎樣使用php curl擴充套件進行多執行緒post資料 curl 是使用url語法的傳送檔案工具,支援ftp ftps http htpps scp sftp tftp telnet dict file和ldap。curl 支援ssl證書 http post http put ftp 上傳,ker...