美文网首页
[方法分析] 如何快速入手掌握Python爬虫

[方法分析] 如何快速入手掌握Python爬虫

作者: Python课程作业 | 来源:发表于2017-05-25 00:47 被阅读287次

    本文适合掌握了Python基本语法,完成了逻辑训练题的同学。

    不得不说目前二期同学的学习劲头和氛围比一期的要好得。大家的提问、互动和建议也比较多。

    回答一个问题。昨天发了推荐的视频,今天晚上也有一场直播课程(YiCo的),讲得比较多的工具和抓取中的调试,有同学感到内容太多,对于怎么入手写一个爬虫代码没有头绪。

    其实入手写简单爬虫功能还是比较简单。分成三步:

    1. 发起请求,返回页面数据
      请求网络资源(你想抓取的URL),得到网页源代码(或者返回的json数据),这个过程可以看作就是模拟浏览器操作。
    2. 对网页进行解析,得到数据
      获取网页中的数据,有这以下几种方法:
    • 正则表达式匹配
    • BeautifulSoup
    • XPath
    1. 数据处理,存入数据库
      对数据进行处理,如格式调整,进行数据库操作(或文件操作 常用csv文件格式)

    针对每一步来具体讲:
    1)发起网络请求的方式,urllib, urlib2, requests库,都已对网络请求高度封装了,两三行代码就可以实现。后面如果使用scrapy连这两三行代码也不用写了。

    会出现的问题(或难点),对URL访问不熟悉,包括请求参数,请求头,这里就需要对URL进行抓包分析,经常使用的工具 Chrome 的“检查”工具,Fiddler等。确定分析的主要有两点:请求的URL,请求中的关键参数。

    另外就是增加防Ban措施。(让爬虫伪装得像浏览器一样)

    2) 对页面进行匹配或解析

    • 正则表达式刚开始比较难掌握,原理就是用一个模板格式去套,把所需要的数据匹配出来。可以先用 BeautifulSoup 或 XPath

    • BeautifulSoup 是基于 DOM 的,会载入整个文档(就是整个网页),解析整个 DOM 树,因此时间和内存开销都会大很多。好处是比较简单,通过标签类型就可以查找定位,支持 css 选择器。

      比如简书的文章标题就是在 属性为 title<a> 标签中

    • XPath 使用是需要知道文档结构,即 确定这个标签的路径。
      上面的例子,文章标题是在 <div> (属性 author) 下的 <a> 标签

    3)数据处理,入库操作。
    循序渐进的学习方式,第一步,先把数据打印出来,好处马上看到抓取的数据结果,有成就感,便于调度,当然最好是能debug调试。第二步,数据写入CSV文件,几千条上万条数据用Excel分析起来也很方便,这种方式一般满足日常一些数据的要求,抓取尽可能多的数据练习。第三,学习mysql, mongodb数据库操作(包括程序写入,基本 sql 语句练习)


    006 - 5分钟快速学会正规表达式

    007 - Python简单爬虫 - 正则表达式

    010 - 使用BeautifulSoup和XPath抓取结构化数据


    YiCo斗鱼直播视频录屏:链接: https://pan.baidu.com/s/1eR19GOE 密码: dt7y

    相关文章

      网友评论

          本文标题:[方法分析] 如何快速入手掌握Python爬虫

          本文链接:https://www.haomeiwen.com/subject/bmcaxxtx.html