爬蟲小例1 ajax形式的網頁資料的抓取

2022-05-18 15:34:18 字數 1562 閱讀 3840

---恢復內容開始---

下面記錄如何抓取ajax形式載入的網頁資料:

目標:獲取「下的網頁資料

第一步:網頁資料分析-----》特點:當列表條滾動到頁面下方時資料自動載入,而頁面的url並未發生變化

第二步:利用fiddler抓包,如下圖:

圖一:請求資料

圖二:form表單

通過抓包獲取到資料規律:圖二from表單中start對應資料和圖一中的url中start對應資料隨著每次載入而遞增,其他資料未發生變化。對應這種規律我們便可構造相應請求獲取資料

需注意,資料形式為json

**如下:

1).urllib形式

import

urllib2

import

urllib

#此處的url為上述抓包獲取的url去掉start以及limit,start以及limit資料後邊以form表單的形式傳入

url = '

'#請求投資訊,偽造成瀏覽器,方式被反爬蟲策略攔截

headers =

#構建form表單

formdata =

#urlencode()urllib中的函式,作用:將key:value形式的鍵值對轉換為"key=value"形式的字串

data =urllib.urlencode(formdata)

#構建request例項物件

request = urllib2.request(url,data=data,headers=headers)

#傳送請求並返回響應資訊

response =urllib2.urlopen(request)

#注意此處的資料形式並不是html文件,而是json資料

json =response.read()

print html

2).request庫的get請求**

#

coding=utf-8

import

requests

url = '

'headers =

data =

response = requests.get(url,params = data,headers =headers)

print response.text

3).request庫的post請求

#

coding=utf-8

import

requests

url = '

'formdata =

headers =

response = requests.post(url,data=formdata,headers=headers)

print response.text

---恢復內容結束---

2016暑期集訓1A 組合數

問題 a 組合數 時間限制 1 sec 記憶體限制 128 mb 題目描述 從m個不同元素中,任取n n m 個元素並成一組,叫做從m個不同元素中取出n個元素的乙個組合 從m個不同元素中取出n n m 個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數,記作c m,n 現在給你m,n,...

Wannafly交流賽1 A 有理數

有乙個問題如下 給你乙個有理數v,請找到小於v的最大有理數。但這個問題的答案對於任意v都是無解的!因為有理數具有稠密性。這意思是,對於任兩個滿足u所以若你說x是答案,那我們總是能找到另外乙個滿足x現在我們不是要問這種只要輸出 no solution 的問題,我們要問乙個稍微難一點的問題如下 給你乙個...

有了1A的把握再去提交

1 測試的輸出 忘記刪掉 這種錯誤很少出現 2 把問題搞複雜 思路不清晰 感覺這樣是對的 沒去想一想是不是有更好的 更簡單一點的 越複雜越容易出錯 越不容易把所有的特殊情況考慮到 還是盡量讓 簡單一點 思路清晰一點 3 沒注意輸入資料的範圍 4 最近幾次cf中 老掛在精度上 有時候是沒想到 有時候是...