网络爬虫工作原理
爬虫执行过程
爬虫执行时序
爬虫技术之数据抓取
在爬⾍实现上,除了scrapy框架之外,python有许多与此相关的库可供使⽤。其中,在数据抓取⽅⾯包括: urllib(urllib3)、requests、mechanize、selenium、splinter;
其中,urllib(urllib3)、requests、mechanize⽤来获取URL对应的原始响应内容;⽽selenium、splinter通过加载浏览器驱动,获取浏览器渲染之后的响应内容,模拟程度更⾼。
考虑效率、当然能使⽤urllib(urllib3)、requests、mechanize等解决的尽量不⽤selenium、splinter,因为后者因需要加载浏览器⽽导致效率较低。
对于数据抓取,涉及的过程主要是模拟浏览器向服务器发送构造好的http请求,常⻅类型有:get/post。
爬虫技术之数据解析
在数据解析⽅⾯,相应的库包括:lxml、beautifulsoup4、re、pyquery。
对于数据解析,主要是从响应页面里提取所需的数据,常⽤⽅法有:xpath路径表达式、CSS选择器、正则表达式等。
其中,xpath路径表达式、CSS选择器主要⽤于提取结构化的数据。⽽正则表达式主要⽤于提取非结构化的数据。