0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python爬虫之requests模块教程

电子设计 来源:电子设计 作者:电子设计 2020-12-10 21:50 次阅读

获取响应信息

import requests
response = requests.get('http://www.baidu.com')
print(response.status_code)  # 状态码
print(response.url)          # 请求url
print(response.headers)      # 响应头信息
print(response.cookies)      # cookie信息
print(response.content)      # bytes形式的响应内容
print(response.encoding)     # 获取响应内容编码
response.encoding=”utf-8”     # 指定响应内容编码
print(response.text)         # 文本形式的响应内容,response.content编码后的结果

发送Get请求

不带参数的Get请求

response = requests.get('http://www.baidu.com')
print(response.text)

带参数的Get请求

直接写在url后面

在url后面用?表示带上参数,每对参数用&分隔。如下url:
https://www.bilibili.com/vide...
注意:url最长2048字节,且数据透明不安全

作为字典参数传入

data = {'name': 'xiaoming',  'age': 26}
response = requests.get('http://www.abcd.com', params=data)
print(response.text)

发送post请求

只能作为字典参数传入,注意参数名字是data而不是params

data = {'name': 'xiaoming',  'age': 26}
response = requests.post('http://www.abcd.com', data=data)
print(response.text)

添加headers

heads = {}
heads['User-Agent'] = 'Mozilla/5.0 ' /
                          '(Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 ' /
                          '(KHTML, like Gecko) Version/5.1 Safari/534.50'
response = requests.get('http://www.baidu.com',headers=headers)

使用代理

proxy = {'http': '49.89.84.106:9999', 'https': '49.89.84.106:9999'}
heads = {}
heads['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'
req = requests.get(url, proxies=proxy, headers=heads)
print(req.text)

使用加密代理

from requests.auth import HTTPProxyAuth
proxies= {'http': '127.0.0.1:8888', 'https': '127.0.0.1:8888'}
auth = HTTPProxyAuth('user', 'pwd')
requests.get(url, proxies=proxies, auth=auth)

也可以这样

proxies = {"http": "http://user:pass@10.10.1.10:3128/",}
req = requests.get(url, proxies=proxy, headers=heads)

Cookie

获取Cookie

import requests
response = requests.get("http://www.baidu.com")
print(type(response.cookies))
# 把cookiejar对象转化为字典
cookies = requests.utils.dict_from_cookiejar(response.cookies)
print(cookies)

使用Cookie

cookie = {"Cookie":"xxxxxxxx"}
response = requests.get(url,cookies=cookie)

Session

session = requests.Session()
session.get('http://httpbin.org/cookies/set/number/12345')
response = session.get('http://httpbin.org/cookies')
print(response.text)

限定响应时间

from requests.exceptions import ReadTimeout
try:
    response = requests.get('https://www.baidu.com', timeout=1)
    print(response.status_code)
except :
    print('给定时间内未响应')

解析JSON格式的响应内容

通过response.json()方法可以将为JSON格式的响应内容转变为Python的对象,json.loads(response.text)也能起到同样的作用

response = requests.get('http://www.abcd.com')
print(response.text)
print(response.json())  
print(type(response.json()))
想进一步了解编程开发相关知识,与我一同成长进步,请关注我的公众号“松果仓库”,共同分享宅&程序员的各类资源,谢谢!!!

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    55

    文章

    4779

    浏览量

    84440
  • 爬虫
    +关注

    关注

    0

    文章

    82

    浏览量

    6834
收藏 人收藏

    评论

    相关推荐

    Python数据爬虫学习内容

    流程来实现的。这个过程其实就是模拟了一个人工浏览网页的过程。Python爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,我们可以按照reques
    发表于 05-09 17:25

    Python爬虫与Web开发库盘点

    beautifulsoup4、urllib2、lxml和requests是学习Python爬虫必备的库,必须要掌握,当然有的同学说爬网页不是也可以用正则表达式吗,确实可以但是会很不方便,因为bs4和lxml都有便捷
    发表于 05-10 15:21

    Python爬虫初学者需要准备什么?

    了一个人工浏览网页的过程。Python爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,我们可以按照requests 负责连接网站,返回网
    发表于 06-20 17:14

    0基础入门Python爬虫实战课

    学习资料良莠不齐爬虫是一门实践性的技能,没有实战的课程都是骗人的!所以这节Python爬虫实战课,将帮到你!课程从0基础入门开始,受众人群广泛:如毕业大学生、转行人群、对Python
    发表于 07-25 09:28

    Python爬虫简介与软件配置

    Python爬虫练习一、爬虫简介1. 介绍2. 软件配置二、爬取南阳理工OJ题目三、爬取学校信息通知四、总结五、参考一、爬虫简介1. 介绍网络爬虫
    发表于 01-11 06:32

    python网络爬虫概述

    的数据,从而识别出某用户是否为水军学习爬虫前的技术准备(1). Python基础语言: 基础语法、运算符、数据类型、流程控制、函数、对象 模块、文件操作、多线程、网络编程 … 等(2). W3C标准
    发表于 03-21 16:51

    详细用Python写网络爬虫

    详细用Python写网络爬虫
    发表于 09-07 08:40 32次下载
    详细用<b class='flag-5'>Python</b>写网络<b class='flag-5'>爬虫</b>

    完全自学指南Python爬虫BeautifulSoup详解

    完全自学指南Python爬虫BeautifulSoup详解
    发表于 09-07 08:55 39次下载
    完全自学指南<b class='flag-5'>Python</b><b class='flag-5'>爬虫</b>BeautifulSoup详解

    WebSpider——多个python爬虫项目下载

    此文档包含多个python爬虫项目
    发表于 03-26 09:29 3次下载

    python爬虫入门教程之python爬虫视频教程分布式爬虫打造搜索引擎

    本文档的主要内容详细介绍的是python爬虫入门教程之python爬虫视频教程分布式爬虫打造搜索引擎
    发表于 08-28 15:32 29次下载

    python爬虫框架有哪些

    本视频主要详细介绍了python爬虫框架有哪些,分别是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。
    的头像 发表于 03-22 16:13 6787次阅读

    Python爬虫:使用哪种协议的代理IP最佳?

    网络大数据要抓取信息,大多需要经过python爬虫工作,爬虫能够帮助我们将页面的信息抓取下来。
    的头像 发表于 06-28 16:25 1931次阅读

    Python写网络爬虫

    Python写网络爬虫的方法说明。
    发表于 06-01 11:55 21次下载

    利用Python编写简单网络爬虫实例

    利用 Python编写简单网络爬虫实例2 实验环境python版本:3.3.5(2.7下报错
    发表于 02-24 11:05 14次下载

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法 在Python爬虫过程
    的头像 发表于 01-12 15:11 2170次阅读