python 爬虫 基于requests模块的get请求

Posted mingerlcm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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")

 

以上是关于python 爬虫 基于requests模块的get请求的主要内容,如果未能解决你的问题,请参考以下文章

04,Python网络爬虫之requests模块

python 爬虫 基于requests模块的get请求

python 爬虫 基于requests模块发起ajax的get请求

python网络爬虫之requests模块

Python爬虫_requests模块

Python爬虫:requests模块使用