爬虫概述
爬虫就是获取网页并提取和保存信息的自动化程序。
1、获取网页
即获取网页源代码,向网站服务器发送请求,返回的响应体便是网页的源代码,然后接收到响应并将其解析出来。
2、提取信息
获取源代码后,接下来就是分析源代码,从中提取想要的数据。
最通用方法采用正则表达式,但是构造正则表达式容易出现错误。
另外,由于网页结构有一定的规则,可以根据网页的属性、CSS选择器或XPath来踢去网页信息,如Beautiful Soup、pyquery、lxml等
3、保存数据
可以简单保存为text文本或json文本,也可以保存到数据库,如mysql和mongdb等,或者远程服务器等
4、自动化程序
爬虫可以在抓取过程中进行各种异常处理、错误重试等操作,确保爬取持续高效运行。
JavaScript渲染页面
用urllib或requests抓取网页时,得到的源代码和浏览器中看到的不同。因为网页越来越多的采用Ajax、前端模块化工具构建,整个网页可能都是由JavaScript渲染出来的,也就是原始的HTML代码就是一个空壳。
这时可以分析后台Ajax接口,也可以使用Selenium、Splash这样的库来实现模拟JavaScript渲染。