我是靠谱客的博主 雪白蜡烛,最近开发中收集的这篇文章主要介绍Python爬虫学习——Requests入门三(六)Python爬虫学习一、抓包工具二、代码实现三、代码参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Python爬虫学习

文章目录

  • Python爬虫学习
  • 一、抓包工具
  • 二、代码实现
  • 三、代码参数

一、抓包工具

打开豆瓣电影喜剧排行榜页面源代码
在这里插入图片描述
我们可以看到有很多数据,上面有个XHR

在这里插入图片描述
XHR用于筛选数据
在这里插入图片描述
你会发现相关数据都在这个里面,前面提到怎么获取,现在我们可以通过这个URL获取
在这里插入图片描述

这个URL很复杂,这是一个带有参数的URL, “?”后面是我们的参数

在Payload可以看到相关参数
在这里插入图片描述

二、代码实现

上面提到这个URL非常长,我们在写爬虫程序的时候,如果你发现GET请求的url很复杂,这个时候可以重新封装参数,只取问号前面的东西,然后将参数复制,写成一个字典的形式

url="https://movie.douban.com/j/chart/top_list0"
#重新封装参数
p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 0,
"limit": 20}

前面提到过带有参数的post请求用data参数进行传递,而get请求用params参数进行传递

resp=requests.get(url,params=p )
import requests #导入requests

url="https://movie.douban.com/j/chart/top_list0"
p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 0,
"limit": 20}
resp=requests.get(url,params=p )
print(resp.request.url)

在这里插入图片描述
解释一下resp.request.url()
前面介绍过resp是返回的响应,响应从什么发起的找到请求对象(request),请求对象里放着url

然后我们查看相关信息

import requests #导入requests

url="https://movie.douban.com/j/chart/top_list0"
p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 0,
"limit": 20}
resp=requests.get(url,params=p )
print(resp.text)

在这里插入图片描述

你会发现没有任何东西,如果你的参数没有错误,这个时候只有一种可能,你被反爬了。
前面介绍过如何伪装自己的爬虫程序,这里就不过多的赘述了

import requests #导入requests

url="https://movie.douban.com/j/chart/top_list"

p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 0,
"limit": 20}

h={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43"
}
resp=requests.get(url=url,params=p,headers=h)
print(resp.text)

在这里插入图片描述
转成相应的格式

import requests #导入requests

url="https://movie.douban.com/j/chart/top_list"

p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 0,
"limit": 20}

h={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43"
}
resp=requests.get(url=url,params=p,headers=h)
print(resp.json()) #json格式

在这里插入图片描述

三、代码参数

先看源代码参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每次鼠标向下滑动就会多出来一些数据,你会发现参数只有start发生了改变,所以我们可以通过修改代码中的start来抓取数据。

import requests #导入requests

url="https://movie.douban.com/j/chart/top_list"

p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 20, #修改的参数
"limit": 20}

h={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43"
}
resp=requests.get(url=url,params=p,headers=h)
print(resp.json())

爬取完数据后一定要关掉resp,如果长时间访问,之后访问就会报错
resp.close()

import requests #导入requests

url="https://movie.douban.com/j/chart/top_list"

p={"type": "24",
"interval_id": "100:90",
"action": "",
"start": 20,
"limit": 20}

h={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43"
}
resp=requests.get(url=url,params=p,headers=h)
print(resp.json())
resp.close()#关掉resp

最后

以上就是雪白蜡烛为你收集整理的Python爬虫学习——Requests入门三(六)Python爬虫学习一、抓包工具二、代码实现三、代码参数的全部内容,希望文章能够帮你解决Python爬虫学习——Requests入门三(六)Python爬虫学习一、抓包工具二、代码实现三、代码参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部