分享

Python爬虫要如何学习,才能快速入门

 flyk0tcfb46p9f 2019-05-02

网络爬虫为搜索引擎从万维网下载网页。一般分为传统爬虫和聚焦爬虫。

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。通俗的讲,也就是通过源码解析来获得想要的内容。

聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

爬虫只是为了获取数据,分析、挖掘这些数据才是价值,因此它还可以延伸到数据分析、数据挖掘等领域,给企业做决策,所以作为一名爬虫工程师,是大有可为的。

那么是不是一定要把上面的知识全学完了才可以开始写爬虫吗?当然不是,学习是一辈子的事,只要你会写 Python 代码了,就直接上手爬虫,好比学车,只要能开动了就上路吧,当然写代码可比开车安全多了。

入门爬虫,学习正则表达式并不是必须的,你可以在你真正需要的时候再去学,比如你把数据爬取回来后,需要对数据进行清洗,当你发现使用常规的字符串操作方法根本没法处理时,这时你可以尝试了解一下正则表达式,往往它能起到事半功倍的效果。Python 的 re 模块可用来处理正则表达式。

数据清洗完最终要进行持久化存储,你可以用文件存储,比如CSV文件,也可以用数据库存储,简单的用 sqlite,专业点用 MySQL,或者是分布式的文档数据库 MongoDB,这些数据库对Python都非常友好,有现成的库支持。 Python操作MySQL数据库 通过Python连接数据库。

关于实践

网上的爬虫教程多如牛毛,原理大体相同,只不过是换个不同的网站进行爬取,你可以跟着网上的教程学习模拟登录一个网站,模拟打卡之类的,爬个豆瓣的电影、书籍之类的。通过不断地练习,从遇到问题到解决问题,这样的收获看书没法比拟的。

爬虫常用库
  • urllib、urlib2(Python中的urllib)python内建的网络请求库
  • urllib3:线程安全的HTTP网络请求库
  • requests:使用最广泛的网络请求库,兼容py2和py3
  • grequests:异步的requests
  • BeautifulSoup:HTML、XML操作解析库
  • lxml:另一种处理 HTML、XML的方式
  • tornado:异步网络框架
  • Gevent:异步网络框架
  • Scrapy:最流行的爬虫框架
  • pyspider:爬虫框架
  • xmltodict:xml转换成字典
  • pyquery:像jQuery一样操作HTML
  • Jieba :分词
  • SQLAlchemy:ORM框架
  • celery :消息队列
  • rq:简单消息队列
  • python-goose :从HTML中提取文本

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多