python爬虫学习14

这里写目录标题

  • python爬虫学习14
    • get 请求
      • 简单的GET请求
      • 附加信息的GET请求
      • 返回值的类型
      • 抓取网页
      • 抓取二进制数据
      • 添加请求头
  • get 请求

    • 简单的GET请求
      # HTTP 中最常见的请求之一就是GET请求,首先首先来详细了解一下利用requests库构建GET请求的方法。# 下面构建一个最简单的请求,请求的链接为 https://www.httpbin.org/get,该网站会判断用户发起的是否为get请求
      import requestsresp = requests.get('https://www.httpbin.org/get')
      print(resp.text)# 可以发现我们成功的发送了请求,返回结果中包含请求头、URL、IP等信息。
      

      运行结果:

    • 附加信息的GET请求
      # 附加信息的get请求
      # 例如现在要添加两个参数 name 和 ageimport requests
      # 方法一 直接改造 url
      url = 'https://www.httpbin.org/get?name=germy&age=25'
      resp = requests.get(url)
      print(resp.text)# 方法二 利用字典传参 url = 'https://www.httpbin.org/get'
      data = {'name': 'germy', 'age': '25'
      }
      resp = requests.get(url, params=data)
      print(resp.text)
      

      运行结果:

      不用看了啊,一毛一样

    • 返回值的类型
      • 返回值的类型为 str型 但是实际上这种字符串有一种特殊的格式——json。

        # 直接解析结果,得到一个JSON格式的数据,可以直接调用JSON方法
        # 返回值的JSON格式
        import requestsresp = requests.get('https://www.httpbin.org/get')
        print(type(resp.text))              # resp.text 的格式是 str
        json0 = resp.json()
        print(json0,type(json0),sep='\n')    #json0 的格式是 dict
        

        运行结果:

    • 抓取网页
      # 直接抓取网页
      # 抓取网页
      import requests
      import reurl = 'https://ssr1.scrape.center/'
      r = requests.get(url)
      # 使用基本正则表达式来匹配所有标题的内容(后面会介绍到正则表达式的使用)
      pattern = re.compile('<h2.*?>(.*?)</h2>', re.S)
      titles = re.findall(pattern, r.text)
      print(titles)

      运行结果:

    • 抓取二进制数据
      # 在上面抓取网页时,实际上网页返回给我们的是一个HTML文档,若是想要抓取图片、音频、视频等文件,就要抓取对应的二进制的数据:# 在上面抓取网页时,实际上网页返回给我们的是一个HTML文档,若是想要抓取图片、音频、视频等文件,就要抓取对应的二进制的数据:
      import requestsurl = 'https://scape.center/favicon.ico'
      r = requests.get(url)
      print(r.text)
      print(r.content)
      

      运行结果:

      可以看到我们获得了服务器的响应,但是拿到的却是一堆乱码,它实际上是二进制数据

      # 让我们来操作一波
      import requestsurl = 'https://scape.center/favicon.ico'
      r = requests.get(url)
      # 把我们获取到的数据保存
      with open('favicon.ico','wb') as f:f.write(r.content)
      # 运行之后可以看到当先工作路径下出现了一个新的文件
      

      打开文件:

    • 添加请求头
      # 类似于之前 urllib 的添加方式
      # 添加请求头
      # 添加请求头 以伪装成浏览器发送请求
      import requestsurl = 'https://ssr1.scrape.center/'
      headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.2242 SLBChan/11'}
      r = requests.get(url, headers=headers)
      print(r.text)
      

      运行结果: 总之就是一大串源码

今日结束,未完待续…

python爬虫学习14相关推荐

  1. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  2. Python爬虫学习系列教程

    大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫 ...

  3. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  4. Python爬虫学习系列教程-----------爬虫系列 你值的收藏

    静觅 » Python爬虫学习系列教程:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把 ...

  5. Python 爬虫学习 系列教程

    Python爬虫 --- 中高级爬虫学习路线 :https://www.cnblogs.com/Eeyhan/p/14148832.html 看不清图时,可以把图片保存到本地在打开查看... Pyth ...

  6. 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

最新文章

  1. ZendFramework的介绍、安装和实例运行
  2. SpringBoot中通过@Value获取自定义配置的值
  3. ASP.NET MVC Action向视图传值之匿名类型
  4. 使用JS实现文字搬运工
  5. 计算机系统集成难点,企业MES实施中存在的难点及建议
  6. python编程快速上手第四章_《Python编程快速上手——让繁琐的工作自动化》读书笔记 第四章 列表...
  7. redis源码剖析(2):基础数据结构ADLIST
  8. Csharp develop
  9. android 自定义view 水波纹进度球
  10. 【语谱图】基于matlab语音信号语谱图【含Matlab源码 137期】
  11. 1489 数据结构:矩阵鞍点
  12. VMP学习笔记之壳基础(一)
  13. Linux内核学习书籍
  14. 战争调度(树形DP+BFS)
  15. 网站被黑总被跳转到其他网站的处理解决过程
  16. 异或为什么满足结合律,布尔代数与布尔环简介
  17. android手机电话铃声设置,安卓怎么设置铃声 安卓手机铃声设置教程
  18. 计算机图形学 构成立方体数据结构的简单表结构,计算机图形学-沈工大作业管理ppt课件...
  19. 进入BeOS的花花世界 系列五
  20. 智能振弦传感器的读取工具振弦采集仪

热门文章

  1. USACO-Section 3.2 Feed Ratios(枚举)
  2. 从哈密尔顿路径谈NP问题
  3. phpstorm License Server激活 官网下载版本直接激活
  4. 矩形图片怎么转换成圆形的图片
  5. wps 在线预览、在线编辑 InvalidSignature问题排查
  6. 快速删除node_modules目录的方法:指令rimraf
  7. 快速删除大文件利器 node 包 rimraf
  8. 解析CSS属性之pointer-events
  9. 3.2 腾讯云AI解决方案
  10. Android 音视频采集与软编码总结