首页 > 编程 > Python > 正文

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

2019-11-25 11:55:42
字体:
来源:转载
供稿:网友

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

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

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

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

import requests# 指定urlurl = '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.textwith open("周杰伦.html","w",encoding="utf-8") as f:  f.write(page_text)  f.close()print("ok")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表