java爬虫抓取动态网页( wpfgaoerfu:wpfgaoerfu如何从动态加载网页抓取数据(图))
优采云 发布时间: 2021-12-10 14:16java爬虫抓取动态网页(
wpfgaoerfu:wpfgaoerfu如何从动态加载网页抓取数据(图))
python爬虫从动态加载的网页中抓取数据
2020年4月13日第14读 来源:wpfgaoerfu
如何从动态加载的网页中抓取数据1、获取请求的网页打开网址:如#/?tab=%E5%85%A8%E9%83%A8 那么如何从该网页加载数据, 点击F12查看
2、请求数据,我们看到请求数据是根据page_size获取的,这样我们就可以模拟Request请求,获取数据请看下面的代码
import requests
# 1.分析网站真是请求地址---抓包分析
def get_json(url):
# 伪装 程序伪装成浏览器
headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0'}
params = {
'page_size' : 10,
'next_offset': str(num), # 不断变化
'tag': '今日热门',
'platform': 'pc'
}
# url = 'https://api.vc.bilibili.com/board/v1/ranking/top?' # 找到真实请求地址
html = requests.get(url,params=params, headers=headers)
# print(html)
return html.json()
# 抓取大量数据 大量地址
# 1 11 21 31 41 :递增10 一个真实请求地址:包含10个视频
if __name__ == '__main__': # 可写可不写
for i in range(10):
url = 'https://api.vc.bilibili.com/board/v1/ranking/top?'
num = i * 10 + 1 # num == offset
html = get_json(url)
# 2.解析数据
infos = html['data']['items']
# print(infos)#list 列表[] ()tuple元祖 {}dict字典
for info in infos:
title = info['item']['description']
vedio_url = info['item']['video_playurl']
print(title, vedio_url)
运行结果如下:
获取每个视频地址,点击打开下载或观看
以上就是从动态网页中抓取数据的整个过程的简单实现
欢迎交流学习。