import socket
import urllib.request
import urllib.parse
import urllib.error# 一个测试用网址,后面是跟的是http请求方式post或get, 当为post时返回json数据,form内是发送过去数据
url = 'http://httpbin.org/post'
headers = {# 伪装使用浏览器,默认为Python-urllib'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 QIHU 360EE','host': 'httpbin.org'
}
# urllib.request.urlopen()函数的data参数必须是字节流形式,当携带了该参数,请求方式默认为post
data = bytes(urllib.parse.urlencode({'word': 'hello'}), 'utf-8')
try:req = urllib.request.Request(url=url, data=data, headers=headers, method='POST')response = urllib.request.urlopen(req)
except urllib.error.URLError as e:if isinstance(e.reason, socket.timeout):print('timeout')else:print(e.reason)exit(100)
else:print(type(response))if response.status == 200:        # 当为200是表示请求等到正确响应print(response.getheaders())  # 得到响应头print(type(response.getheaders()))print(response.getheader('Server'))print(response.read().decode('utf-8'))  # 得到响应源码

class urllib. request. Request ( url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
第三个参数 headers 是一个字典,它就是请求头,我们可以在构造请求时通过 headers 参数直 接构造,也可以通过调用请求实例的 add_header()方法添加。
第四个参数 origin_req_host 指的是请求方的 host名称或者 IP 地址。
第五个参数unveri干iable表示这个请求是否是无法验证的,默认是 False,意思就是说用户没 有足够权限来选择接收这个请求的结果。 例如,我们请求一个 HTML 文档中的图片,但是我 们没有向动抓取图像的权限,这时 unverifiable 的值就是 True。

python 爬虫1:发送请求相关推荐

  1. python爬虫怎么发布请求_http请求如何在python爬虫中实现?

    最近我们会比较多的提到网页,因为这和python中的爬虫密切相关.当然,我们也会需要处理一些网页的请求.处理http的方法并不是单一的,学过urllib库的小伙伴好好思考下,其中有没有解决的办法呢?答 ...

  2. Python爬虫-关于HTPP请求方法有哪些

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:砸漏 ( 想要学习Python?Python学习交流群 ...

  3. Python爬虫伪装,请求头User-Agent池,和代理IP池搭建使用

    一.前言 在使用爬虫的时候,很多网站都有一定的反爬措施,甚至在爬取大量的数据或者频繁地访问该网站多次时还可能面临ip被禁,所以这个时候我们通常就可以找一些代理ip,和不用的浏览器来继续爬虫测试.下面就 ...

  4. Python爬虫|Python爬虫入门:请求

    这次我们入门一下爬虫的请求模块.本篇不会深入地讲请求相关的知识,主要关注在爬虫部分的相关知识,点到为止. 一 .HTTP协议 我们在第一篇爬虫教程( 知乎专栏 )讲到了HTTP协议这个东西.讲HTTP ...

  5. 【Python从零到壹】python爬虫系列-网络请求

    学习了之前的基础和爬虫基础之后,我们要开始学习网络请求了. 文章目录 urllib的介绍 urllib库的四大模块: 案例 发送请求 代码案例 发送请求-Request请求 IP代理 使用cookie ...

  6. Python爬虫 2-爬虫请求模块

    urllib.request模块 1.1 版本 python2:urllib2,urllib python3:把urllib和urllib2合并,urllib.request 1.2 常用的方法 ur ...

  7. [Python爬虫] 2-网络请求

    # I.urllib库:最基本的网络请求库,可以模拟浏览器的行为,向指定的服务器发送一个请求,并且可以保存返回的数据,常用函数如下: # 1)urlopen:抓取内容 from urllib impo ...

  8. python爬虫学习-定制请求头

    请求头Headers提供了关于请求.响应或其他发送实体的信息. 下面以某书上的教程为例,查找正确的请求头. 通过chrome浏览器的"检查"命令,单击Network选项,在左侧的资 ...

  9. python request大批量发送请求调用接口时,报错:[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

    接到一个项目需求,其中需要调用到供应商的Http  API,因为有大量的测试资源,所以代码中会循环调用API. 然而在测试代码执行过程中,过程中偶尔报错: 此时看到报错,怀疑是可能是同时并发的问题, ...

  10. python爬虫快速添加请求头、随机生成user-agent

    一.快速添加请求头 import re # 下方引号内添加替换掉请求头内容 headers_str = """ accept: text/html,application ...

最新文章

  1. 内容提供器(Content-Provider)完整使用指南
  2. phpweb2.0 开发实战 ----- 配置虚拟主机
  3. 语音媒体和信令的测试软件,IP多媒体子系统信令分析工具的设计与实现
  4. mysql最小费用最大流问题_图论-网络流之最小费用最大流问题
  5. 10-30-010-安全简介-Kafka 安全机制
  6. 微信小程序性别代码对应描述
  7. 【学步者日记】UnityEditor扩展菜单以及ScriptableObject
  8. php api查询开发,PHP 开发API接口 登记,登录,查询用户资料
  9. vs 2017插件visual assist 10.9.2238破解版安装指南及百度云链接
  10. 语音识别算法原理文档整理(一)
  11. 使用pdf.js插件与LODOP控件实现前端浏览器静默打印PDF文件
  12. 通读SLA文档之后的感受
  13. 《现代操作系统》阅读笔记
  14. 五个核心能力打造普惠金融商业化发展模式
  15. 小饶学编程之JAVA SE第二部分——Web 前端基础:09CSS3
  16. 计算机平面设计中汉字的使用艺术
  17. 太棒了!快来领养一位你的虚拟女友冰冰吧
  18. 人工智能给未来教育的挑战
  19. COB - Chip On Board
  20. java poi导出Excel表,合并单元格

热门文章

  1. 《深入体验 飞鸽传书 开发内幕 核心基础》
  2. Windows 2000缓冲区溢出技术原理
  3. java观察者模式在spring中的应用_在Spring中使用观察者模式
  4. Spark Streaming 技术看点!
  5. NAR | 陈加余/陈亮合作建立R-loop全基因组分布与调控的专家数据库
  6. R语言学习 - 热图简化
  7. NOI 1.13编程基础之综合应用 45十进制到八进制
  8. c 读取mysql另一个窗体中显示出来_二级ACCESS数据库4窗体的笔试题考点分析
  9. python3.6.5安装tensorflow_Win10下用Anaconda安装TensorFlow(图文教程)
  10. Wireshark文档阅读笔记-WebSocket协议基本概念