网络编程
位置:首页>> 网络编程>> Python编程>> python爬虫 基于requests模块的get请求实现详解

python爬虫 基于requests模块的get请求实现详解

作者:minger_lcm  发布时间:2021-04-24 17:38:32 

标签:python,爬虫,requests,模块,get,请求

需求:爬取搜狗首页的页面数据


import requests
# 1.指定url
url = 'https://www.sogou.com/'
# 2.发起get请求:get方法会返回请求成功的响应对象
response = requests.get(url=url)
# 3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据
page_data = response.text
# 4.持久化数据
with open("sougou.html","w",encoding="utf-8") as f:
 f.write(page_data)
 f.close()
print("ok")

requests模块如何处理携带参数的get请求,返回携带参数的请求

需求:指定一个词条,获取搜狗搜索结果所对应的页面数据

之前urllib模块处理url上参数有中文的需要处理编码,requests会自动处理url编码

发起带参数的get请求

params可以是传字典或者列表


def get(url, params=None, **kwargs):
 r"""Sends a GET request.
 :param url: URL for the new :class:`Request` object.
 :param params: (optional) Dictionary, list of tuples or bytes to send
   in the body of the :class:`Request`.
 :param \*\*kwargs: Optional arguments that ``request`` takes.
 :return: :class:`Response <Response>` object
 :rtype: requests.Response

import requests
# 指定url
url = 'https://www.sogou.com/web'
# 封装get请求参数
prams = {
 'query':'周杰伦',
 'ie':'utf-8'
}
response = requests.get(url=url,params=prams)
page_text = response.text
with open("周杰伦.html","w",encoding="utf-8") as f:
 f.write(page_text)
 f.close()
print("ok")

利用requests模块自定义请求头信息,并且发起带参数的get请求

get方法有个headers参数 把请求头信息的字典赋给headers参数


import requests
# 指定url
url = 'https://www.sogou.com/web'
# 封装get请求参数
prams = {
 'query':'周杰伦',
 'ie':'utf-8'
}
# 自定义请求头信息
headers={
 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
 }
response = requests.get(url=url,params=prams,headers=headers)
page_text = response.text
with open("周杰伦.html","w",encoding="utf-8") as f:
 f.write(page_text)
 f.close()
print("ok")

来源:https://www.cnblogs.com/mingerlcm/p/11369676.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com