python爬取网页实时数据_python爬取网页数据

本文介绍如何使用Python爬取网页上动态加载的数据,并解析JSON格式的数据。通过实例演示了如何构造请求URL并抓取指定URL的历史价格信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python时间戳

将时间戳转为日期

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

#引入time模块

importtime#时间戳

timeStamp = 1581004800timeArray=time.localtime(timeStamp)#转为年-月-日形式

otherStyleTime = time.strftime("%Y-%m-%d", timeArray)print(otherStyleTime)

python爬取数据教程(教程用于爬取动态加载的数据)

很多时候我们需要爬取网页动态加载的数据,这是我们通过打开该网页,按“Fn+F12”打开“开发者工具”。

edge浏览器打开开发者工具:

1200736-20200207195955493-1069550329.png

谷歌浏览器打开开发者工具:

1200736-20200207200319960-1949829634.png

edge点击“网络”,谷歌点击“Network”,

1200736-20200207201156870-943767641.png

找到我们要找文件,可以通过文件类型找,在标头我们可以看到请求URL在正文界面我们看到传过来的数据,我们要获取的就是dataprice,这个数据是json格式,python获取json数据就是一个字符串。

1200736-20200207203253874-1366334820.png

代码:

importrequestsimportjsonimporturllib

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)

运行结果:

1200736-20200207203904126-1400601821.png

这样我们就获取到了dataprice啦!

这不是结束,我们现在获取到了一个url对应的动态数据,但是我有几千条数据,所以我们研究一下这个requestURL,看看能不能进行构造(截图为谷歌浏览器截图)

1200736-20200207204158083-2081216222.png

1200736-20200207204340151-1109449158.png

通过对比几个requestURL,我发现这几个间不同之处为“url=”后和“token=”后不同,url是输入的链接,这个是我们自己可以传入的,但是这个token是什么呢?经过研究,我发现token在这里,但是他是随机生成的,如何获取这个字段呢?

1200736-20200207204648573-1464699885.png

通过在网页右键“查看网页源代码”,或者在开发者工具点击第一个“Element”,查看源代码,我发现token在这里生成的。

1200736-20200207205035519-634054648.png

但是没弄懂encrypt函数(有知道的大神可以告诉我,哈哈),只能另辟蹊径,再研究研究。哈哈,token又在这里出现了,最后,获取这个src路径,通过对字符串进行裁剪得到token的值。

1200736-20200207205429659-426353792.png

这样我们就可以对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)

再用上面的代码,我们就可以获取到所有的数据啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值