python爬虫中的url下载器用法详解

 更新时间:2020年11月30日 15:27:58   作者:小妮浅浅  
在本篇内容里小编给各位整理的是一篇关于python爬虫中的url下载器用法详解内容,需要的朋友们参考下。

前期的入库筛选工作已经由url管理器完成了,整理的工作自然要由url下载器接手。当我们需要爬取的数据已经去重后,下载器的主要任务的是这些数据下载下来。所以它的使用也并不复杂,不过需要借助到我们之前所学过的一个库进行操作,相信之前的基础大家都学的很牢固。下面小编就来为大家介绍url下载器及其使用的方法。

下载器的作用就是接受URL管理器传递给它的一个url,然后把该网页的内容下载下来。python自带有urllib和urllib2等库(这两个库在python3中合并为urllib),它们的作用就是获取指定的网页内容。不过,在这里我们要使用一个更加简洁好用而且功能更加强大的模块:Requests。

Requests并非python自带模块,需要安装。关于其具体使用方法请查看以往文章,在此不多做介绍。

下载器接受一个url作为参数,返回值为下载到的网页内容(格式为str)。下面就是一个简单的下载器,其中只有一个简单的函数download():

'''
-----------------------------------------------------------------
HtmlDownloader
'''
class HtmlDownloader(object):
  def download(self, url):
    print "start download"
    if url is None:
      return None
      print "url is None"
    user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'
    headers = {'User-Agent':user_agent}
    print "start requests"
    r = requests.get(url, headers=headers)
    #判断响应状态
    if r.status_code == 200:
      r.encoding = 'utf-8'
      print "该页面下载成功!{}".format(url)
      return r.text
    else:
      print "该页面下载失败!{}".format(url)
    return None

在requests请求中设置User-Agent的目的是伪装成浏览器,这是一只优秀的爬虫应该有的觉悟。

有些小伙伴已经猜出来了,requests库和我们的爬取数据密不可分,搭配着url下载器我们就可以成功抓取想要的数据了

知识点扩展:

url下载器

  • URL下载器应该包含两个仓库,分别存放没有爬取过的链接和已经爬取过的链接。
  • 应该有一些函数负责往上述两个仓库里添加链接
  • 应该有一个函数负责从新url仓库中随机取出一条链接以便下载器爬取
  • URL下载器应该能识别重复的链接,已经爬取过的链接就不需要放进仓库了

到此这篇关于python爬虫中的url下载器用法详解的文章就介绍到这了,更多相关python爬虫中的url下载器是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python批量修改文件名实例操作分享

    Python批量修改文件名实例操作分享

    这篇文章主要介绍了Python批量修改文件名实例操作分享,问咋还那个主要通过以修改图片文件名为例,将图片复制到新的目录中再修改名称,下文详细操作过程需要的小伙伴可以参考一下
    2022-04-04
  • python集合能干吗

    python集合能干吗

    在本篇内容中小编给各位分享了关于python集合的作用以及相关实例内容,需要的朋友们可以学习参考下。
    2020-07-07
  • Python实现的购物车功能示例

    Python实现的购物车功能示例

    这篇文章主要介绍了Python实现的购物车功能,涉及Python通过交互与数值运算实现购物车功能的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Python基于回溯法子集树模板解决选排问题示例

    Python基于回溯法子集树模板解决选排问题示例

    这篇文章主要介绍了Python基于回溯法子集树模板解决选排问题,简单描述了选排问题并结合实例形式分析了Python使用回溯法子集树模板解决选排问题的具体实现步骤与相关操作注意事项,需要的朋友可以参考下
    2017-09-09
  • Python集成学习之Blending算法详解

    Python集成学习之Blending算法详解

    集成学习(又称模型融合)就是结合若干个体分类器(基学习器)进行综合预测,各个个体学习器通常是弱学习器.集成学习相较于个体学习在预测准确率以及稳定性上都有很大的提高.文中有非常详细的代码示例哦,需要的朋友可以参考下
    2021-05-05
  • 采用Psyco实现python执行速度提高到与编译语言一样的水平

    采用Psyco实现python执行速度提高到与编译语言一样的水平

    这篇文章主要介绍了采用Psyco实现python执行速度提高到与编译语言一样的水平的方法,是非常实用的Python第三方库,需要的朋友可以参考下
    2014-10-10
  • 使用python 写一个静态服务(实战)

    使用python 写一个静态服务(实战)

    今天小编就为大家分享一篇使用python 写一个静态服务(实战),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python面向对象之类属性和类方法案例分析

    python面向对象之类属性和类方法案例分析

    这篇文章主要介绍了python面向对象之类属性和类方法,结合案例形式分析了Python面相对象中类属性和类方法的相关概念、原理与使用技巧,需要的朋友可以参考下
    2019-12-12
  • pycharm中import导入包呈现灰色的问题及解决

    pycharm中import导入包呈现灰色的问题及解决

    这篇文章主要介绍了pycharm中import导入包呈现灰色的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 使用python遍历指定城市的一周气温

    使用python遍历指定城市的一周气温

    本文主要介绍了使用python遍历指定城市的一周气温的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03

最新评论