1、urllib python 内置的http的请求库
  urllib.request #请求模块
  www=urllib.request.urlopen(url,data,timeout)
  www.read().decode('utf-8')
  type(www)#响应类型
  www.status#响应状态吗
  www.getheaders()#响应头
  www.getheader('Server')

  代理handler
  handler=urllib.request.ProxyHandler({'http':'http://207.246.77.83:2010'})
  Cookie#维持网站登陆状态

  urllib.error#异常处理模块
  try
    需要捕获异常的代码
  except 异常原因 as e:
    操作
  #print(e.reason)
  #if isinstance(e.reason,'TIMEOUT')
  # print('连接超时')

  异常类型
  error.HTTPError
  error.URLError

  urllib.parse#解析模块
  urllib.parse.urlpasrse(url,scheme,allow_fragmengts=True)#scheme协议类型 allow_fragmengts允许分割6个字段

  urllib.parse.urlunpasrse()
  urllib.parse.urljoin()#url拼接
  urllib.parse.urljoin()
  urllib.parse.urlencode()#将字典的键值对转化为url
  urllib.robotparse#解析txt文本

Request python 内置的http库
  pip3 install requests#安装requests库

  url = 'http://www.365cmd.com/forum.php'
  re=request.get(url)
  type(re)
  re.status_code
  re.cookies
  re.headers
  re.text

  arms={
  'mod':'viewthread',
  'tid':'14807'
  }
re1=requests.get(url,params=arms)#利用字典形式传递params参数构造网址http://www.365cmd.com/forum.php?mod=viewthread&tid=14807

  解析json
  re1.json()

  获取二进制数据
  re1.content

  保存二进制数据
  with open('文件名','mode') as file
  file.write(re1.content)
  file.close()

  打开windows文件C:\Users\Raytine\Desktop\111\123\1111222.txt

  f=open(r'C:/Users/Raytine/Desktop/111/123/1111222.txt','r')
  如果文件不在项目目录下,需写完整的路径,windows下的\代表转移字符

  添加header
  header={
  }
  re2=requests.get(url,header=header)

  post方法
  data={
  ...
  }
  header={
  ...
  }
requests.post(url,data=data,header)

  response状态码判断
  re.status_code
  200成功
  404NOT FOUNLD

  获取Cookie
  re.cookies
  for key, value, in re.cookies.items()
  string = '%s%s%s' % (key, ' = ', value)#字符串格式化
  print(string)

  会话维持
  request.Session().get(url)#模拟在同一个浏览器操作

  证书验证
  爬取https网站url='https://www.12306.cn'
  request.get(url)
  若浏览器检测证书不安全,response报错
  过滤错误信息以及不检测证书
  from request.packages import urllib3
  urllib3.disable_warning()
  requests.get(url,verify=False)

  requests.get(url,cert='crt,key')

  代理设置
  proxies={
  'http':'http://207.246.77.83:2010'
  'https':'http://user:passwd@207.246.77.83:2010'}

  pip3 install requests[socks]# sock5代理安装
  proxies={
  'https':'sock5://207.246.77.83:2010'
  'https'='https:sock5//user:passwd@207.246.77.83:2010'}

  requests.get(url,proxies=proxies)

  超时设置
  try
  requests.get(url,timeout=1)
    except ReadTimeOut
  print('TIMEOUT')

  认证设置

  from requests.auth import HTTPBasicAuth
  requests.get(url,auth=HTTPBasicAuth('USER':'PASSWORD'))
  requests.get(url,auth=('USER':'PASSWORD'))

  异常捕获处理
  try
    requests.get(url)

  except ReadTimeOut:
    操作
    print('**异常')
  except HTTPError:
    操作
    print('**异常')
  except ConnectionError:
    操作
    print('**异常')
  except RequestException:
    操作#捕获父类异常
    print('异常')

转载于:https://www.cnblogs.com/chenxiaoweiworkinghard/p/9281751.html

Python爬虫学习第一天--uillib库和request库相关推荐

  1. python爬虫学习第一章

    <!DOCTYPE html> python爬虫第一章 python网络爬虫的学习 什么是网络爬虫 按照特定需求,从互联网中搜索有用信息网页进行过滤,就叫网络爬虫. 网络爬虫算法 当浏览信 ...

  2. python爬虫学习之路(二)re库的使用方法

    python基础爬虫学习之路(二) 在上一篇文章中,我们已经学习了有关爬虫对URL的访问以及利用xpath表达式对网页中的信息进行提取,这一篇文章我们将从信息提取的角度来进一步学习爬虫. 正则表达式提 ...

  3. python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库

    (一)使用Beautiful Soup库(默认将HTML转换为utf-8编码) 1,安装Beautiful Soup库:pip install beautifulsoup4 2,简单使用: impor ...

  4. python爬虫、第一个爬虫(基本知识,requests库,BeautifulSoup库,正则表达式re库)

    python爬虫学习开始 1.这是我第一次写博客,表示不太会用csdn的这个编辑器,排版神马的就别说了,有什么值得改进的或者不对的地方,欢迎留言,谢谢. 2.作为学生党,正在自学python爬虫,基于 ...

  5. Python爬虫学习 6 —— 使用bs4库爬取大学排名

    前面学了如何使用beautifulsoup,现在来尝试简单的爬取:中国大学排名 一.准备 查看Robots协议:robots协议 功能描述 输入:大学排名的url链接 输出:大学排名信息(排名,大学名 ...

  6. Python爬虫学习总结

    Python爬虫学习总结 一.前提 请求网站并提取数据的自动化程序, 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的 ...

  7. 铁憨憨的Python 爬虫学习 Python_Learn

    通过网课和万能的B站学习 Python 和爬虫(本文基本是对视频内程序和内容的笔记内容) B站 Python 爬虫学习链接 Python 学习网络爬虫主要分3个大的版块:明确目标,抓取,分析,存储 明 ...

  8. python爬虫学习笔记 3.9 (了解参考:训练Tesseract)

    python爬虫学习笔记 3.9 (了解参考:训练Tesseract) 参考阅读:训练Tesseract 要使用 Tesseract 的功能,比如后面的示例中训练程序识别字母,要先在系统中设置一 个新 ...

  9. Python爬虫学习之数据提取(Beautiful Soup)

    Python爬虫学习之数据提取Beautiful Soup 前期回顾 概述 解析器 准备工作 实例 节点选择器 方法选择器 find_all find 总结 前期回顾 Python爬虫学习之reque ...

最新文章

  1. 动态规划——最长上升子序列问题 两种角度及优化算法
  2. 计算机应届生必读的 AI 入门经典书单
  3. 通过css类/选择器选取元素 文档结构和遍历 元素树的文档
  4. ExoPlayer 开发者指导
  5. android -------- java虚拟机和Dalvik虚拟机
  6. antlr idea 入门_ANTLR入门:构建简单的表达语言
  7. 【Java】Socket实现的C/S模式半UI多人聊天程序
  8. Android笔记 fragment通信
  9. Python基础学习笔记(十三)异常
  10. 【ACL2020论文尝鲜】何时采用BERT更加有效?
  11. Layer单选框非空校验注意
  12. 万能视频格式转换器 v 2018 全能版
  13. 整个AppData目录挪到D盘方法
  14. 黑苹果音频卡顿_DXOMARK公布无线音箱音质基准:苹果华为Sonos上榜
  15. 关于win8的各种版本的区别
  16. Unity 2D人物移动实现
  17. 一种使用随机抽样梯度下降算法来预估词汇量的方法
  18. SQL 修改表的常用命令
  19. 网赚项目分享:八条可以在线上做的副业兼职
  20. 【马司机带带我】君子日三省吾身

热门文章

  1. 「干货」不逼自己一下不知道自己多牛逼[python篇]
  2. php特殊符号写入excel_PHP:使用PEAR写入excel文件
  3. 收藏 | 万字长文带你理解Pytorch官方Faster RCNN代码
  4. 一文带你读懂单目视觉SLAM数据关联优化
  5. 深度学习(三十三)CRF as RNN语义分割-未完待续
  6. OpenCV属性页配置问题~
  7. python合并表格矩阵并排序_在Python中,将多个列的列表排列成一个矩阵
  8. python做视频抽帧图_python-opencv-视频截取帧图片
  9. ajax-loader.gif不存在怎么解决_高温下水泥路面材料膨胀路面上出现裂缝怎么处理?...
  10. Wireshark使用入门