实时抓取网页数据(网页加载数据的另一种方式——通过API(Programming) )

优采云 发布时间: 2022-03-21 01:15

  实时抓取网页数据(网页加载数据的另一种方式——通过API(Programming)

)

  网页加载数据的另一种方式——通过API(应用程序编程接口)加载数据网页通过API获取数据并实时更新内容。互动的方式。网络

  网络记录从浏览器的开发者工具打开到页面加载的所有请求。如果页面加载后打开页面,可能是空的,我们可以打开开发者工具刷新页面

  

  爬虫中常用的请求类型有All、XHR、Img、Media。只需了解其余部分:

  

  常用的请求信息,如请求名称、状态码、类型、数据大小、耗时等。这些都比较简单,只要我们能理解和知道它们的意思就行。

  

  在所有的请求类型中,有一个非常重要的类型叫做 XHR。让我提前告诉你,完整的电影评论在那里。那么 XHR 到底是什么?

  

  找到真正的链接获取评论数据和相关的请求头参数,然后我们可以尝试通过爬虫爬取数据

  import requests

headers = {

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36',

'referer': 'http://movie.mtime.com/'

}

res = requests.get('http://front-gateway.mtime.com/library/movie/comment.api?tt=1641893701852&movieId=251525&pageIndex=2&pageSize=20&orderType=1', headers=headers)

print(res.text)

  因为查询字符串比较长,requests.get()方法提供了params参数,可以让我们以字典的形式传递链接的查询字符串参数,让代码看起来更简洁明了

  

  也就是说链接中的tt=52&movieId=251525&pageIndex=2&pageSize=20&orderType=1可以拆分成字典:

  params = {

"tt": "1641893701852",

"movieId": "251525",

"pageIndex": "2",

"pageSize": "20",

"orderType": "1"

}

res = requests.get(

'http://front-gateway.mtime.com/library/movie/comment.api',

params=params,

headers=headers

)

  

  

  import requests

headers = {

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36',

'referer': 'http://movie.mtime.com/'

}

params = {

"tt": "1646731402452",

"movieId": "251525",

"pageIndex": "1",

"pageSize": "20",

"orderType": "1"

}

res = requests.get(

'http://front-gateway.mtime.com/library/movie/comment.api',

params=params,

headers=headers

)

print(res.text)

print(type(res.text))

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线