爬取淘宝上dota2自走棋糖果利润
最近一直在玩dota2自走棋,就好奇巨鸟多多糖果在淘宝上总共赚了多少钱?就用selenium爬取淘宝上dota2自走棋糖果的售价和销量。只爬了前2页,后面基本都是销量0,就没爬。不算其他税什么的,就单纯用售价*销量来粗略估算利润,最后利润是一千多万,哦吼~好像还是一个月销量吧~
遇到的问题:
Q1:现在selenium程序会被淘宝识别,搜索时强制转到淘宝账号登录页面
A1:用第三方的微博登录淘宝账号
import re
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from bs4 import BeautifulSoup
from decimal import DecimalKEYWORD = 'dota2自走棋糖果'
WEIBO_NAME = '你的微博用户名'
WEIBO_PASSWORD = '你的微博密码'def calculate_the_profit(prices_item, sales_item):''' 计算利润=销量*售价 '''temp_sum = Decimal(0)# 理论上销量和售价一一对应,这里不做验证for i in range(len(sales_item)):sale = Decimal(re.match('(\d+)', sales_item[i].text).group())price = Decimal(prices_item[i].text)print(price, sale)temp_sum += price * saleprint(temp_sum)return temp_sumdef crawl_information(browser):''' 爬取每页每个商品的销量和售价 '''# 抓取商品的价格和销量soup = BeautifulSoup(browser.page_source, 'lxml')prices_item = soup.select('.price.g_price.g_price-highlight strong')sales_item = soup.find_all(class_='deal-cnt')return prices_item, sales_itemdef go_to_the_next_page(browser):''' 前往下一个页面 '''wait = WebDriverWait(browser, 10)next_page = wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@data-value='44']")))next_page.click()def get_taobao_page(browser):''' 从淘宝首页进入搜索关键字商品,控制网页 '''sum = Decimal(0)url = 'https://www.taobao.com'browser.get(url)# 取货搜索框,输入关键字,然后回车进行搜索input = browser.find_element_by_id('q')input.send_keys(KEYWORD)input.send_keys(Keys.ENTER)# 由于淘宝自身限制,用selenium爬取网页内容会要求登录,这里用第三方微博登录# 从二维码登录切换到密码登录login_swith = browser.find_element_by_class_name('login-switch')login_swith.click()# 点击微博登录weibo_login = browser.find_element_by_class_name('weibo-login')weibo_login.click()# 输入用户名username_input = browser.find_element_by_name('username')username_input.send_keys(WEIBO_NAME)# 输入密码password_input = browser.find_element_by_name('password')password_input.send_keys(WEIBO_PASSWORD)# 提交weibo_submit = browser.find_element_by_class_name('W_btn_g')weibo_submit.send_keys(Keys.ENTER)# 此时登录成功就会跳转到要搜索的页面,先按销量排序,显示等待元素加载wait = WebDriverWait(browser, 10)sale_sort = wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@data-value='sale-desc']")))sale_sort.click()# 等待网页内容排序的时间time.sleep(3)# 然后爬取商品信息prices_item, sales_item = crawl_information(browser)# 待爬取完毕后,算计当前页利润总和,累计进总和sum += calculate_the_profit(prices_item, sales_item)# 前往下一页go_to_the_next_page(browser)time.sleep(3)prices_item, sales_item = crawl_information(browser)sum += calculate_the_profit(prices_item, sales_item)print(sum)if __name__ == '__main__':browser = webdriver.Chrome()get_taobao_page(browser)browser.close()
爬取淘宝上dota2自走棋糖果利润相关推荐
- python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片
现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 我们可以看到左侧是主题市场,将鼠标移动到[女装/男装/内衣]这一栏目, ...
- Python 002- 爬虫爬取淘宝上耳机的信息
参照:https://mp.weixin.qq.com/s/gwzym3Za-qQAiEnVP2eYjQ 一般看源码就可以解决问题啦 1 #-*- coding:utf-8 -*- 2 import ...
- Python requests爬取淘宝商品信息
作者:achen 联系方式:wh909077093 这里记一下大概的思路以及实现方法,有基础的小伙伴看了基本就能实现了,如果有业务需要可以联系我哈哈哈哈哈哈 本文代码参考猪哥66的思路 项目内容 指定 ...
- 爬取淘宝任意商品数据,你上你也行
文章目录 构造url 分析页面结构 爬取多页数据 最后 构造url 第一页url https://s.taobao.com/search?q="面膜" 第二页url https:/ ...
- python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件
第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字"python",然后搜索,显示如下搜索结果 从url连接中可以得 ...
- 利用Selenium爬取淘宝商品信息
文章来源:公众号-智能化IT系统. 一. Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...
- 爬取淘宝定价需要多久时间_如何对设计工作进行定价—停止收取时间并专注于价值
爬取淘宝定价需要多久时间 Pricing creative work is a new concept for most freelancers who are starting their busi ...
- python词云代码手机_【云计算】爬取淘宝手机品牌词云分析(python)
本文主要向大家介绍了[云计算]爬取淘宝手机品牌词云分析(python),通过具体的内容向大家展现,希望对大家学习云计算有所帮助. 淘宝手机信息的爬取,请看这边博客(点击这里),然后我们利用其中保存的文 ...
- 用Python爬取淘宝2000款套套,我发现了一个重要秘密
点击上方"码农突围",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 一.淘宝商品信息爬取 这篇文章主要是讲解如何爬取数据,数据的分析放在下一篇.之所以分开是因为爬取淘宝遇 ...
最新文章
- 北京中天荣泰视觉检测 仿真
- boost::mp11::mp_empty相关用法的测试程序
- Vue中的三种Watcher
- centos7中安装docker
- blender怎么移动骨骼_宝宝偏头怎么办?千万别错过这个矫正“黄金期”!
- 原价399,限时1元!7天人工智能入门训练营:带你从0掌握机器学习算法!
- 测试VGA12H直接写屏速度 V1.1
- poj 3280 Cheapest Palindrome (dp)
- 2021最新计算机二级C语言试题
- Linux I2C总线驱动调试之i2c-tools工具使用
- 怎样设置CCProxy
- 四足机器人站立姿态解算-几何方法
- 2020-11-24--源赖氏佐天
- 关于物联网卡(二):如何使用物联网卡
- 采用计算机辅助数据收集,可用性测试中计算机辅助数据收集和分析机制研究
- 三、运算符 | Verilog
- Java开发高频英语单词800+,熟悉后英文障碍又少了
- css3文字水平垂直居中对齐的几种方法
- TYPEC线改成OTG线制作
- 基于FPGA的啸叫检测与抑制系统设计与实现verilog