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

yipeiwu_com7年前Python爬虫

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

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设计】。

相关文章

利用Python抓取行政区划码的方法

前言 国家统计局网站上有相对比较齐的行政区划码,对于一些网站来说这是非常基础的数据,所以写了个Python程序将这部分数据抓取下来。 注意:抓取下来以后还要进行简单的人工的整理 示例代码...

Python实现的爬虫功能代码

本文实例讲述了Python实现的爬虫功能。分享给大家供大家参考,具体如下: 主要用到urllib2、BeautifulSoup模块 #encoding=utf-8 import re...

解决python3爬虫无法显示中文的问题

有时候使用python从网站上爬数据的时候,如果数据里包含中文,有时候显示的却是如下所示...\xe4\xba\xba\xef\xbc\x8c\xe6...类似与国际化 解决方法:...

Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】

Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】

本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能。分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.co...

Python爬虫之UserAgent的使用实例

问题: 在Python爬虫的过程中经常要模拟UserAgent, 因此自动生成UserAgent十分有用, 最近看到一个Python库(fake-useragent),可以随机生成各种U...