爬虫的分析方式
爬网页爬的是数据,如果是简单的html网页,可以通过chrome分析请求连接然后通过scrapy
获取想要的数据,主要是xpath
和正则表达式的使用;
如果是对网页的无目的搜寻式爬取,可以获取request返回的内容中所有超链接然后不停地爬下去;
如果是对一个网页的指定数据的爬取,直接可以定位到页面元素然后获取;
如果是动态的js渲染的页面,通常直接分析js的渲染结果比较麻烦,这时候可以借助selenium
+chromeheadless
来进行数据爬取。
selenium的使用注意
使用selenium时常常需要等待页面加载,注意其三种等待方式:
强制等待:
time.sleep(xxx);
隐性等待:
implicitly_wait(xxx);
这种等待方式对driver的整个生命周期都起作用,一次设置整个周期都遵从,因此往往会使等待时间变得很长
显性等待:
webDriverwait().until(xxxxx);
可以定时检查等待条件是否满足然后判断是否往下执行代码
手机和电脑客户端的网页
例如:
windows 客户端:
user_agent = ‘Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0’
iphone客户端:
user_agent = ‘Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25’
android 客户端:
user_agent = ‘Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13’chrome
浏览器开发者工具可以伪装一些平台的浏览器
ps:安装selenium和chromeheadless的链接install selenium