您的位置:首页 > 新闻资讯 >文章内容
【新手入门】Python爬虫爬取步骤分析
来源:互联网 作者:admin 时间:2019-02-25 16:44:06

  网络爬虫的基本理念这里就不讲了,如果大家还没有清楚的,可以先去查一下。本文主要讲Python爬虫爬取步骤分析,很多人都分享了自己爬取的代码,其实新手是看不懂的,一篇的代码看下来,可能还蒙圈了,不是说这是最简单的编程语言吗?这是因为大家可能还没有弄明白其中的一些步骤。


  HTTP代理工程师表示,其实爬虫爬取的过程,跟我们浏览网页的流程是差不多的,比如:我们在浏览器的地址栏中输入地址,打开网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。


  HTML是一种标记语言,用标签标记内容并加以解析和区分。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变成我们直接看到的网站页面。那么爬虫要想抓取数据,是如何实现的呢?


  一、python获取html页面


  其实,最基本的抓站,两句话就可以了:


  importurllib2


  content=urllib2.urlopen('http://XXXX').read()


  这样可以得到整个html文档,关键的问题是我们可能需要从这个文档中获取我们需要的有用信息,而不是整个文档。这就需要解析充满了各种标签的html。


  二、python爬虫抓取页面后解析html方法


  1.html解析库SGMLParser


  Python默认自带HTMLParser以及SGMLParser等等解析器,前者实在是太难用了,我就用SGMLParser写了一个示例程序:


【新手入门】Python爬虫爬取步骤分析


  很简单,这里定义了一个叫做ListName的类,继承SGMLParser里面的方法。使用一个变量is_h4做标记判定html文件中的h4标签,如果遇到h4标签,则将标签内的内容加入到List变量name中。解释一下start_h4()和end_h4()函数,他们原型是SGMLParser中的


  start_tagname(self, attrs)


  end_tagname(self)


  tagname就是标签名称,比如当遇到

,就会调用start_pre,遇到

,就会调用end_pre。attrs为标签的参数,以[(attribute,value),(attribute,value),...]的形式传回。



  2.html解析库pyQuery


  pyQuery是jQuery在python中的实现,能够以jQuery的语法来操作解析HTML文档,十分方便。使用前需要安装,easy_installpyquery即可,或者Ubuntu下


【新手入门】Python爬虫爬取步骤分析


  3.html解析库BeautifulSoup


  有个头痛的问题是,大部分的网页都没有完全遵照标准来写,各种莫名其妙的错误令人想要找出那个写网页的人痛打一顿。为了解决这个问题,我们可以选择著名的BeautifulSoup来解析html文档,它具有很好的容错能力。


  以上对Python爬虫爬取步骤分析进行了分析,不同的人有不同的习惯,细节处理上也可能是不一样的,仅供参考。


相关文章内容简介
推荐阅读
  • 10 2020-08
    网络爬虫的几个基本原理

    计算机网络本质上是一种传播工具,方便人们更好的相互交流。计算机网络将原本世界上各个孤立的网络连接起来,由很多子网络进而形成一个非常大的网络,即万维网。这个时候人们通过网络

  • 16 2019-07
    怎么避免代理ip失效过快?

    怎么避免代理ip失效过快?在使用代理ip的过程中,有时候ip失效会比较快的,如果不想刚用上的ip马上失效,需要正确合理的进行使用。

  • 15 2020-05
    用户怎么选择选择代理IP

    作为普通网民的我们,在选择代理IP时,往往没有那些企业公司专业的准备,因此,如何挑选到一家适合自己且高性价比的代理商成了一个令人头痛的问题。这篇文章我们就来聊聊在选择代理IP

  • 02 2019-12
    代理IP常见的两种使用出错及解决方案

    代理IP的使用场景非常广泛,但是在我们使用的过程中,难免会碰到代理IP出错的时候。有些问题我们可以通过搜索平台来找到解决教程,而有些问题比较服务无法一下子自己解决。下面我们跟

  • 01 2019-04
    python爬虫遇到301、302状态码怎么回事?

    每个网站的反爬虫机制不一样,而且网站也是有变化的,因此爬虫在爬取的过程中是经常会遇到问题的,今天讲下关于爬虫遇到的301、302的问题。

  • 09 2020-04
    电脑为什么要设置IP地址

    我们都知道,在使用电脑的过程中每台电脑都有一个IP地址,这个IP地址就相当于我们的身份证,在网络中可以通过IP地址知道我们电脑的所在地。那么,电脑为什么要设置IP地址?

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部