爬虫就是获取网页并提取和保存信息的自动化程序前端
爬虫首先要作的工做就是获取网页,即获取网页的源代码,源代码包含了网页部分有用信息,只要把源代码获取下来,就能够从中提取想要的信息。正则表达式
Python提供许多库如urllib,requests等,能够实现HTTP请求操做,获得响应后只须要解析数据结构中的Body部分便可,即获得网页的源代码。数据库
获取网页源代码后,接下来就是分析网页源代码,从中提取咱们想要的数据。浏览器
首先,最通用的方法是用正则表达式提取;另外,因为网页的结构有必定的规则,因此还有一些根据网页节点属性,CSS选择器或Xpath来提取网页信息的库,如Beautiful Soup,pyquery,lxml等服务器
提取信息是爬虫很是重要的部分,它可使杂乱的数据变得条理清晰,以便咱们后续处理和分析数据数据结构
提取信息后,通常会将提取的数据保存到某处以便后续使用,保存的形式多种多样,能够简单保存为TXT文本或JSON文本,也能够保存到数据库,如MySQL和MongoDB等,也能够保存至远程服务器,如借助SFTP进行操做模块化
如今愈来愈多的网页采用Ajax,前端模块化工具来构建,整个网页均可能是有Javascript渲染出来的,即原始的HTML代码就是个空壳工具
所以使用基本HTTP请求库获得的源代码可能和浏览器中的页面源代码不太同样,这种状况,能够分析其后台Ajax接口,也可以使用Selenium,Splash这些库来实现模拟Javasript渲染url