淘宝天猫评论爬取,简单的办法完成滑动验证
淘宝评论爬取 教你如果自动滑动验证
- 一. 背景:
- 二.解决selenium登录问题
- 三.解决验证码问题
一. 背景:
最近在准备一个关于文本情感分析的分享,首先想到使用淘宝的评论,由于淘宝以分类好好评差评,同时也打上了印象的标签,比较适合与做情感分析的训练样本。
爬虫的工具使用:selenium ,主要是由于其方便模拟点击。当然如果有其他模拟工具都可以用,原理上是差不多的。
二.解决selenium登录问题
由于selenium若新开窗口会出现cookie未保存的情况,导致每次进入再次登录,这会造成一些不必要的麻烦.解决的办法是让selenium使用以开启的浏览器爬去,此浏览器事先已经登录了淘宝.具体的步骤如下:
1.命令行下开启google-chrome,之后登录淘宝以让下一步的窗口继承cookie
google-chrome --remote-debugging-port=9222 --user-data-dir="."
2.设置selenium使用此google-chrome浏览器
chrome_options = Options()chrome_options.add_experimental_option("debuggerAddress","127.0.0.1:9222")#免爬图片#chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})chrome_driver = "/usr/bin/chromedriver"driver = webdriver.Chrome(chrome_driver,chrome_options=chrome_options)
三.解决验证码问题
查询的若较为频繁,就会收到如下图这样的验证消息,我在解决这个验证上花了一点时间,主要是对selenium对切换iframe上不了解,找寻滑块上总是出现报错
driver.find_element_by_xpath("//*[@id='nc_1_n1t']/span")
element not found nc_1_n1t
此验证窗口为一个新的iframe,
需要先进入iframe找到滑块,完成点击,另外需要注意部分有的时候淘宝检测到为爬虫即使划过去了也会报错如下.所以可能需要多次验证.
具体代码如下:
#处理验证码
def handle_vertify(driver):iframe = driver.find_elements_by_xpath('//div[@class="sufei-dialog-content"]//iframe')#iframe = driver.find_elements_by_xpath('//div[@class="sufei-tb-dialog-content sufei-tb-overlay-content"]//iframe')print(iframe)if len(iframe) == 0:returndriver.switch_to_frame(iframe[0])trys = 0#需要多次尝试while trys < 5:trys += 1slider=driver.find_element_by_xpath("//*[@id='nc_1_n1t']/span")#需要滑动的元素ActionChains(driver).click_and_hold(slider).perform()#大概滑动300就可以通过验证trace = [10,20,30,40,40,40,30,30,30,30]for i in range(len(trace)):ActionChains(driver).move_by_offset(xoffset=trace[i],yoffset=0).perform()ActionChains(driver).release().perform()#move_to_gap2(driver,slider,get_track(270))refresh = driver.find_elements_by_xpath("//span[@class='nc-lang-cnt']/a")if len(refresh) > 0:refresh[0].click()continuetime.sleep(random.randint(2,5))if driver.page_source.find("nc_1_n1t") == -1:driver.switch_to.parent_frame()breakif trys >= 5:print("[Error]:vertify code error")else:print("[Success]:vertify code error")
淘宝天猫评论爬取,简单的办法完成滑动验证相关推荐
- 技能梳理36@淘宝/天猫数据爬取
现在登录用微博登录的方式已经不行了 参考链接https://zhuanlan.zhihu.com/p/558502415 使用的开发工具是Jupyter_Notebooks 参考视频https://w ...
- python爬取淘宝天猫评论(通过cookie)
今天分享的是使用python语言然后通过cookie来爬取淘宝天猫评论的方法. 1.首先我们打开一个产品页,地址:几素usb小风扇,按下F12,然后下拉到产品评论可以看到如下图 2.点击这个scrip ...
- 淘宝众筹数据爬取(1)
众筹是现阶段小微或初创企业比较重要的融资渠道之一,也获得了很多研究者的关注.然而众筹的研究需要获取众筹项目的大量数据,单靠手工录入数据确实比较让人讨厌, 速度慢也比较啰嗦.前文中我们已经了解了静态网页 ...
- python爬虫学习笔记(三)——淘宝商品比价实战(爬取成功)
2020年最新淘宝商品比价定向爬取 功能描述 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格. 理解:淘宝的搜索接口 翻页的处理 技术路线:requests re 程序的结 ...
- python爬虫—关于淘宝商品的爬取
之前爬过一次淘宝,当时这个网站没怎么设置很厉害的反爬措施,能够很轻松地获取上面的数据:销量啊.价格啊.以及好评等等,做一些可视化的图表,对于将要在淘宝平台售卖商品的商家具有很好的参考意义. 现在的淘宝 ...
- 淘宝/天猫根据ID取商品详情 API 接口
淘宝/天猫获得淘宝商品详情 API 返回值说明 API 名称: item_get-获得淘宝商品详情 公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在UR ...
- python爬取数据分析淘宝商品_python爬取并分析淘宝商品信息
python爬取并分析淘宝商品信息 Tip:本文仅供学习与交流,切勿用于非法用途!!! 背景介绍 有个同学问我:"XXX,有没有办法搜集一下淘宝的商品信息啊,我想要做个统计".于是 ...
- selenium+chormdriver+python 实现淘宝的信息爬取
因为我是个爬虫新手,所以对爬虫还不熟练,这几天想着自己做一个淘宝信息的自动爬取,一开始感觉比较简单,但做到了登录界面,发现一直被网站检测出来,不能滑动滑块.接下来从网上翻遍了资料,整理了以下自己的代码 ...
- 通过requests库re库进行淘宝商品爬虫爬取(对中国大学mooc嵩天老师爬虫进行修改)
中国大学mooc上的爬取淘宝页面商品已经因为淘宝的维护而无法爬取 比如,只出现个表头: 这是我按照嵩天老师代码学习,遇到的问题. 原代码如下: import requests import re de ...
- Python爬虫实例之淘宝商品比价定向爬取!爬虫还是很有意思的!
这次就模仿之前做的总结进行初次尝试 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格 理解:获取淘宝的搜索接口淘宝页面的翻页处理 技术路线:requests--re 准备工作 获取淘宝搜索商品的 ...
最新文章
- SQL数据定义、查询、更新+空值的处理 实践学习报告
- python官网下载步骤图解-下载及安装Python详细步骤
- XWiki 11.1 发布,协作式应用开发平台
- go语言能编android程序吗,用 Golang 开发 Android 应用(二)—— 简单 UI-Go语言中文社区...
- mysql oracle 表空间大小_最简单的查询表空间的使用量、剩余量的方法 - Focus on Oracle、MySQL and GNU/Linux...
- OJ1021: 三个整数的最大值
- 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找
- 对CMMI标准的简单理解
- SNMP学习(2)——SNMP实战
- *第八周*数据结构实践项目二【建设链串算法库】
- Atitit algo art算法的艺术 attilax 著 va v67.docxAtitit 算法的艺术 attilax 1. 模型 文本 音视频 图像 32. 文本方面的编码算法 3
- oracle mac版安装步骤,Mac版安装oracle教程
- 西门子1200fb284
- 尚硅谷kubernates学习笔记 1
- chrome谷歌浏览器script标签引入CLODOP CLodopfuncs.js 跨域报错
- 零基础小白如何转行数据分析
- 音效管理android,Android之声音管理器《AudioManager》的使用以及音量控制
- MYSQL高可用架构MMM实现
- 【BUG解决】 RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor)
- 华为OD机试真题2022(JAVA)