文章目录

  • 前言
  • 一、mitmdump配置
  • 二、登陆淘宝
  • 三、解析数据
  • 总结

前言

众所周知淘宝的反爬机制是越来越严格,如果用单纯的用selenium登录淘宝会出现万恶的滑块验证,这是因为淘宝检测出你是selenium,下面用mitmdump中间拦截修改伪装的方式“骗过”淘宝顺利登录爬取
先说明一下,mitmdump拦截有没有用,如果过从查看window.navigator.webdriver角度老说他还是True并没有改变,但是我用他确确实实顺利的爬到了数据 我用30页测试很顺利并没有出现异常,但是我尝试没有用mitmdump拦截时爬到十页就给我出滑块了,所以 这篇文章可以参考一下


提示:以下是本篇文章正文内容,下面案例可供参考

一、mitmdump配置

写一个HttpProxy文件
参考于:https://www.jianshu.com/p/368be2cc6ca1
代码如下(示例):

TARGET_URL = 'https://g.alicdn.com/secdev/sufei_data/3.6.8/index.js'
INJECT_TEXT = 'Object.defineProperties(navigator,{webdriver:{get:() => false}});'def response(flow):if flow.request.url.startswith(TARGET_URL):flow.response.text = INJECT_TEXT + flow.response.textif 'um.js' in flow.request.url or '115.js' in flow.request.url:# 屏蔽selenium检测print(flow.response.text)flow.response.text = flow.response.text + 'Object.defineProperties(navigator,{webdriver:{get:() => false}})'

二、登陆淘宝

选用扫码登录,看到登录界面后,点击扫码登录,手机扫码进行登录
代码如下(示例):

def get_url(key):bro.maximize_window() #最大化浏览器bro.get("https://s.taobao.com/search?q=%s&s=1" % (key)) #访问页面print("*"*30+"扫码登录"+"*"*30)sleep(40) #扫码登录等待时间#定位一共有多少页numb=bro.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]').text page=int(re.findall('(\d+)',numb)[0]) #用正则提取出来print("*"*30+"共%s页数据"%(page)+"*"*30)#根据页数来做循环for i in range(page):print("-" * 30)print("正在获取第%d页数据"%(i+1))bro.get("https://s.taobao.com/search?q=%s&s=%d"%(key,i*44))parser_product() #解析数据函数

三、解析数据

代码如下(示例):

def parser_product():text=bro.page_sourcehtml=etree.HTML(text)divs=html.xpath('//*[@id="mainsrp-itemlist"]/div/div/div[1]/div')for div in divs:dic={}dic["title"]=div.xpath('.//img[@class="J_ItemPic img"]/@alt')[0]dic["price"]=div.xpath('.//div[@class="price g_price g_price-highlight"]/strong/text()')[0]dic["payers"]=div.xpath('.//div[@class="deal-cnt"]/text()')[0]with open(".//taobao.csv", "a+", encoding="utf-8") as f:writer = csv.DictWriter(f, dic.keys())writer.writerow(dic)

总结

使用流程:

1.cmd进入当前文件夹 调用 mitmdump -s HttpProxy.py -p 9000
2.运行python程序
3.打开手淘,扫码登录

注意事项:

1.别爬的太频繁
2.有需求,建议分批次爬取
参考文章:https://www.jianshu.com/p/368be2cc6ca1

文章请转载标明出处

完整代码 请关注公众号“阿虚学Python”回复“淘宝”获取,更多有趣的爬虫项目等你来

如果觉得这篇文章不错、或者对你有帮助的话就请点个赞吧,谢谢大家的观看

爬虫项目四:2021最新测试可用淘宝爬虫相关推荐

  1. 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据

    文章目录 前言 一.明确目标 二.分析过程 三.代码封装 总结 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与Beautifu ...

  2. python爬虫中requests库和正则表达式之淘宝爬虫实战

    #python版本基于2.7 使用requests库是需要安装的,requests库相比urllib 库来说更高级方便一点,同时与scrapy相比较还是不够强大,本文主要介绍利用requests库和正 ...

  3. 淘宝爬虫、数据分析、童装

    淘宝爬虫.数据分析.童装 requests爬虫 数据处理 数据预处理 处理缺失值 处理sales列 处理location列 保存csv 数据分析 title 词云可视化 关键词的销量分析 店名 价格. ...

  4. selenium淘宝爬虫

    selenium淘宝爬虫 使用selenium做淘宝商品爬虫 1.准备工作 2.页面分析 3.代码实现 3-1.模拟登陆 3-2.商品列表页 3-3.获取商品信息 3-4.数据库设计 3-5.爬虫执行 ...

  5. selenium实现淘宝爬虫

    准备工作 安装好selenium和浏览器驱动chromedriver. 淘宝爬虫过程分析加代码 1.页面请求分析 首先请求淘宝页面,然后输入要爬取的数据的关键词,没有登陆,此时会弹出登陆的窗口,采取模 ...

  6. Python爬虫进阶——urllib模块使用案例【淘宝】

    Python爬虫基础--HTML.CSS.JavaScript.JQuery网页前端技术 Python爬虫基础--正则表达式 Python爬虫基础--re模块的提取.匹配和替换 Python爬虫基础- ...

  7. 2021年天猫,淘宝双十一超级红包活动具体玩法解析

    2021年天猫,淘宝双十一超级红包活动具体玩法解析 一年一度的双十一购物狂欢节又要到了,每年天猫.淘宝.京东等电商平台都准备丰厚的红包福利送给大家,今年也依然丰厚.值得注意的是,今年的双十一比以往提前 ...

  8. python爬虫笔记(六)网络爬虫之实战(1)——淘宝商品比价定向爬虫(解决淘宝爬虫限制:使用cookies)...

    1.  淘宝商品信息定向爬虫 链接: https://www.taobao.com/ 2. 实例编写 2.1 整体框架 # -*- coding: utf-8 -*-import requests i ...

  9. 淘宝爬虫 TaoBaoCrawler

    TaoBao Crawler 星期一, 20. 十一月 2017 07:10下午 做图像处理和做物体识别检测的很多朋友都会有这样一个感受.没有数据集!!!!博主一直苦于没有数据集.而作为最大的,最集中 ...

最新文章

  1. 浅析工业级物联网项目的快速开发
  2. 工作307:uni-富文本的实现逻辑跳转
  3. RabbitMQ从初学到精通一
  4. 地理信息系统软件测试培训,地理信息系统软件测试方法技术方案
  5. GitHub与GitLab的区别
  6. oracle linux 图形化,Linux下Oracle 12C R2图形化安装过程
  7. 涉密文件检查工具_保密文件销毁咨询
  8. Java常量、变量(标识符规则)、数据类型(转换和运算符)、数据优先级
  9. Springboot项目整合JSP模板引擎
  10. 微信网页开发 无法播放视频
  11. tableau连接Mysql出现的密码验证 cannot be loaded
  12. 解决MAC用HDMI连接显示器就没声音问题
  13. ardupilot rover ardurover 电机相关源码 PreArm servo function 33 unassigned
  14. 编程大佬行为准则:一杯茶一包烟,一行代码写一天
  15. 小学生C++编程基础 课程20(共7题)
  16. 如何实现报表数据的动态层次钻取(一)
  17. 分块矩阵求行列式的一道题
  18. 3. node.js 异步式I/O或非阻塞式I/O
  19. 不懂SEO该如何做搜索引擎优化?
  20. 开水果店的流程,水果店开店流程

热门文章

  1. 程序员面试所需的软技能(一)
  2. 金山词霸引起的应用程序错误 该内存不能为“written”
  3. 路由算法(全网最细)
  4. 微信最烧脑游戏计算机2sin,微信史上最烧脑游戏答案大全_史上最烧脑游戏攻略汇总_快吧小程序...
  5. B站设置NFT小钻石头像教程
  6. 关于昨天阿里与唯品会的笔试记录
  7. SQL中的coalesce函数
  8. android auto 一加3t,一加3T值得买吗?一加手机3t详细评测图解
  9. Android 中 ImageView 的基本使用
  10. 先左后直or先直后左 | 江苏交警总队朱志星:交通精细化管理实践