采集淘宝商品数据的时候,主要用到了Selenium+PhantomJS。在这个过程中对淘宝的严厉反爬措施佩服至极,个人也得到了很多成长。虽然历经曲折,最终还是能正常运行自己的脚本采集数据。
这里总结一下Selenium+PhantomJS使用中常用的操作。
设置等待时间隐式等待,等同于time.sleep()
driver.implicitly_wait(40)
设置PhantomJS发送和接收请求的相关参数
# 构造一个PHANTOMJS对象
phan = dict(DesiredCapabilities.PHANTOMJS)
# 在运行前修改对象参数
#设置user-agent请求头
UserAgent = "..."
phan["phantomjs.page.settings.userAgent"] = (UserAgent)
# 禁止加载图片
phan["phantomjs.page.settings.loadImages"] = False
# 设置请求cookie
phan["phantomjs.page.customHeaders.Cookie"] = 'SINAGLOBAL=3955422793326.2764.1451802953297;
'
# 禁用缓存
phan["pha