Python爬虫-入门

文章目录 [ 隐藏 ]

一、什么是爬虫

爬虫的核心就是抓取网页内容。
把互联网比喻成一个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛。
网络蜘蛛是通过网页的链接地址来寻找网页的。
从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,
然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

二、爬虫必备技能

  • Requests:联网获取网站内容。
  • 正则表达式:爬下来的网页都是已字符串的形式处理的,而处理大量字符串最好的方法就是正则表达式。

三、爬虫库的比较

  • Requests:简单易用,通过正则匹配,获取自己想要的内容。
  • Beautiful Soup:名气大,整合了一些常用爬虫需求。缺点:不能加载JS。
  • Scrapy:看起来很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
  • mechanize:优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。
  • selenium:这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
  • cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。

以下是我的一些实践经验:
对于简单的需求,比如有固定pattern的信息,怎么搞都是可以的。
对于较为复杂的需求,比如爬取动态页面、涉及状态转换、涉及反爬虫机制、涉及高并发,这种情况下是很难找到一个契合需求的库的,很多东西只能自己写。

未经允许不得转载:Python在线学习 » Python爬虫-入门

赞 (7)

来吐槽吧 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址