学会这些,轻轻松松搞定爬虫

1,096 阅读2分钟

什么是爬虫

简单来说,写一个从 web 上获取需要数据的程序。如果你有需要的话可以按照规则去把数据保存下来。数据可以有字符串,也可以是图片,也可以是文件。主要看你爬的是什么。

爬虫理论上步骤很简单,第一步获取 html 源码,第二步分析 html 并拿到数据。但实际操作,老麻烦了

用 Python 写 “爬虫” 有哪些方便的库:

常用网络请求库:

requests urllib urllib2 urllib 和 urllib2 是 Python 自带模块,requests 是第三方库

常用解析库和爬虫框架:

BeautifulSoup, lxml, HTMLParser, selenium, Scrapy, HTMLParser 是 Python 自带模块;

BeautifulSoup 可以将 html 解析成 Python 语法对象,直接操作对象会非常方便;

lxml 可以解析 xml 和 html 标签语言,优点是速度快;

selenium 调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码;

Scrapy 很强大且有名的爬虫框架,可以轻松满足简单网站的爬取

爬虫需要掌握哪些知识

学会看html代码,知道哪个数据对应哪一个页面。

学会浏览器调试功能,学爬虫需要学会抓包,看看别人的协议到底是怎么传输的。

进阶爬虫

熟练了基本爬虫之后,你会想着获取更多的数据,抓取更难的网站,然后你就会发现获取数据并不简单,而且现在反爬机制也非常的多。

有的需要登录并将下次的请求时将 sessions 带上,有的需要代理ip,有的加密功能在里面,各种加密可能每个网站不一样,有的返回 js 代码然后用浏览器执行。这些不是一两句话可以说清楚的。

不过我们也不用太灰心,只能说碰到问题之后再去单独攻克,因为问题并不是统一概括,解决的方法也不一样。想要变得更厉害只能做针对性的练习,多写代码了。

对爬虫有感兴趣的同学,也可以关注公众号:诗一样的代码,找我一起学。