程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python爬蟲,記錄一下爬取過程,列表數據,翻頁,post方式,保存字典

編輯:Python

記錄一下自己的爬蟲的過程把,最近在做個項目。

要爬取的網站比較簡單。

其中的問題是:

post方式,網站的數據有一些需要使用post方式才能獲得。

比如,

這部分要看到《發起的項目》,需要鼠標點擊,剛開始以為是ajax,其實不算,是js的方式獲取的。

因此,仔細研究發現,其實網址是這樣的。

https://s*****view.php?id=GKUdgjKayCQvY

具體部分省略,看這個網址,其實沒什麼,但是通過浏覽器檢查,可以發現,鼠標點擊《發起的項目》,會有一個js動作。

如果只有一頁,

像這樣

那麼不會發現js動作。但是如果很多也,需要點擊,就會發現,需要js了。

這個動作,是包含post的。

具體的參數如下

因此,其實請求的網址,可以用這樣組成。

https://sd.zhiyuanyun.com/app/api/view.php?m=get_opps&type=2&id=89608371&p=3

所以,這裡面就是id,p是頁面。其他都是默認參數。

然後在利用post方式,構造出來這個請求就可以了。

def get_proj_number(id):
print("((((((((( >>>>>>>> 現在開始 獲取 組織 一共開展了 多少個項目 ")
params = (('m', 'get_opps'), ('type', '2'), ('id', id), ('p', "1"), )
response = requests.get(
'https://sd.zhiyuanyun.com/app/api/view.php', headers=headers, params=params)
selector = Selector(response)

這樣,把p參數弄成一個for循環就可以了。

保存列表數據

最後請求下來的數據網頁是一個列表

那麼怎麼保存這個列表。

列表包含 th  和td

那麼 我直接把td 做成列表,然後zip一下。

我就弄了一個簡單點的。做一個zip(list)


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved