python爬取網頁數據


python時間戳

將時間戳轉為日期

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 引入time模塊
import time
#時間戳
timeStamp = 1581004800
timeArray = time.localtime(timeStamp)
#轉為年-月-日形式
otherStyleTime = time.strftime("%Y-%m-%d ", timeArray)
print(otherStyleTime)

 

python爬取數據教程(教程用於爬取動態加載的數據)

很多時候我們需要爬取網頁動態加載的數據,這是我們通過打開該網頁,按“Fn+F12”打開“開發者工具”。

edge瀏覽器打開開發者工具:

 

谷歌瀏覽器打開開發者工具:

 edge點擊“網絡”,谷歌點擊“Network”,

 

 找到我們要找文件,可以通過文件類型找,在標頭我們可以看到請求URL在正文界面我們看到傳過來的數據,我們要獲取的就是dataprice,這個數據是json格式,python獲取json數據就是一個字符串。

 

 代碼:

import requests
import json
import urllib

request_url = "http://tool.manmanbuy.com/history.aspx?DA=1&action=gethistory&url=https%253A%2F%2Fproduct.suning.com%2F0070238646%2F10635620355.html&bjid=&spbh=&cxid=&zkid=&w=951&token=nvzld5767ed2371ac6b6e479dd20b3b3e191l9kvo7j"
data = requests.get(request_url)
data_price = json.loads(data.text)
data_price = data_price['datePrice']
print(data_price)

運行結果:

這樣我們就獲取到了dataprice啦!

這不是結束,我們現在獲取到了一個url對應的動態數據,但是我有幾千條數據,所以我們研究一下這個requestURL,看看能不能進行構造(截圖為谷歌瀏覽器截圖)

 

 

 

 

通過對比幾個requestURL,我發現這幾個間不同之處為“url=”后和“token=”后不同,url是輸入的鏈接,這個是我們自己可以傳入的,但是這個token是什么呢?經過研究,我發現token在這里,但是他是隨機生成的,如何獲取這個字段呢?

 

 

 通過在網頁右鍵“查看網頁源代碼”,或者在開發者工具點擊第一個“Element”,查看源代碼,我發現token在這里生成的。

 

 但是沒弄懂encrypt函數(有知道的大神可以告訴我,哈哈),只能另辟蹊徑,再研究研究。哈哈,token又在這里出現了,最后,獲取這個src路徑,通過對字符串進行裁剪得到token的值。

 

 這樣我們就可以對requestURL進行構造啦,

request_url = "http://tool.manmanbuy.com/history.aspx?DA=1&action=gethistory&url={0}&bjid=&spbh=&cxid=&zkid=&w=951&token={1}".format(url,token)

再用上面的代碼,我們就可以獲取到所有的數據啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM