Python——批量获取某宝商品价格
00 前情提要
最近,地摊经济突然火了一把,微博上各种相关的段子也是层出不穷。
我灵机一动,地摊经济好是好,可是买什么东西呢?价格该怎么定位呢?
价格太高,别人怼你淘宝上是你价格的一半,你个黑心商家!!!
价格太低,自己又觉得费了这么大工夫,赚头又不大,简直是个可怜弟弟!!!
所以,我需要用大量的数据来给自己适当的定价参考,如果我能够检索淘宝上10000件某个宝贝的定价,不管是取平均值还是取众数,都能给我提供很大的参考价值。
说干就干!!!
01 实现背景
1、某宝搜索宝贝页面:https://uland.taobao.com/sem/tbsearch,我们获取价格的数据来源
2、selenium模块,用于模仿用户对浏览器的任意操作
3、Pyquery模块,用于解析获取到的网页内容
4、time模块,配合selenium模块用于定时刷新页面
02 实现目标
首先利用selenium模块模仿浏览器点击淘宝搜索页面的网页链接,再通过Pyquery模块进一步筛选搜索结果,获取货物价格等关键信息
03 注意事项
1、源代码以iphone x产品为例进行搜索,如需搜索其他货物,可在源代码中自行替换对应关键词
KEYWORD='iphone x'
2、某宝网站由于 反爬虫机制,若长期未登录情况下搜索,将被禁止搜索。所以我们需要在登录情况下进行搜索
3、如需将获取内容输入到本地文件,可自行利用with…open操作
04 实现源码
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from urllib.parse import quote
from pyquery import PyQuery #解析器,可以配合各种爬虫库,用于解析页面
import timeKEYWORD='iphone x' #设定检索的关键字为iphone x
browser = webdriver.Chrome('C:\\Users\\Dell\\Desktop\\Python\\chromedriver.exe') #需事先下载chrome浏览器的核心控制模块,然后定位到此处
wait = WebDriverWait(browser,10) #页面刷新时间设置为10sdef crawl_page(page):try: #使用try...except...差错控制,避免程序异常终止url = 'https://s.taobao.com/search?q='+quote(KEYWORD) #访问到淘宝搜索页面,但先得淘宝扫码登录browser.get(url)time.sleep(5)if page > 1:page_box = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.input.J_Input')))submit_button = wait.until(EC.element_to_clickable((By.CSS_SELECTOR,'.btn.J_Submit')))page_box.clear()page_box.send_keys(page)submit_button.click()wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.m-itemlist .items .item ')))get_products()except:crawl_page(page)def get_products():html = browser.page_sourcedoc = PyQuery(html) #用pyquery解析页面内容items = doc('#mainsrp-itemlist .items .item').items()price_list=[]for item in items:product = {#'img' : item.find('.img').attr('data_src'),'price' : item.find('.price').text(),'deal' : item.find('.deal-cnt').text(),'title' : item.find('.title').text(),#'shop' : item.find('.dsrs').text(),'location':item.find('.location').text()}#print(product)price_list.append(product)for i in range(100):print(price_list[i])#for i in range(len(price_list)):#with open('price.txt','a+') as file:#file.write(price_list[i])crawl_page(1)
05 实现效果
源代码界面
运行后,Chrome浏览器受控件控制会自动跳转到淘宝登录界面,这里我们选择扫码登录即可
登录成功后,控件会帮助我们跳转到带有关键字iphone x的搜索界面
此时,python程序已经开始获取相关关键信息
注意:光理论是不够的,在此送大家一套2020最新Python全栈实战视频教程,点击此处 免费获取一起进步哦!
有了以上价格数据作为定价的支撑,想必各位老板的定价问题也将会迎刃而解,最终希望各位老板发大财!!!
Python——批量获取某宝商品价格相关推荐
- python批量获取淘宝主图地址
帮老婆整理一个任务表格,里面有几百条淘宝商品的链接,还需要从商品页面截图放上去,一个一个截图太麻烦了,于是用正则表达式把地址提取出来,再用vba把图片地址转换为图片. # -*- coding: UT ...
- Python网络爬虫获取淘宝商品价格
1.Python网络爬虫获取淘宝商品价格代码: #-*-coding:utf-8-*- ''' Created on 2017年3月17日 @author: lavi ''' import reque ...
- 【ArcGIS遇上Python】python批量获取栅格数据四至(top,bottom,left,right)坐标代码
上图所示为ArcGIS自带的影像数据,存放路径为C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源 ...
- python经纬度获取县名_利用 Python 批量获取县镇运输距离
起因 最近做规划项目,领导让查出某几个市的所有乡镇级行政区域,距离所在县级行政中心的交通运输距离.想着也不是啥难事儿,高德地图一搜就有. 当我把各市行政区划统计完,发现一共有五百多个乡镇,意味着要在地 ...
- 极速系列04—python批量获取word/PDF/网页中的表格
这里写目录标题 1 python批量获取word中的表格 目的: 1.1 简介 1.2 读取word文档内容 方法一 方法二 2 python批量获取PDF中的表格 目的: 2.1 简介 2.2 读取 ...
- 用python批量获取cad中线段点组成的凸包 + 面积
用python批量获取cad中线段点组成的凸包 + 面积 效率实在太低,还是用c# 吧 import win32com.client import pythoncom import tubao imp ...
- Python 批量获取今日头条街拍美图
大家好,在以前的文章中我们学了Ajax数据获取,这篇文章我们以今日头条为例,通过分析Ajax请求来抓取今日头条的街拍美图,并将图片下载到本地保存下来. 准备好没,我们现在开始!喜欢记得收藏.点赞.关注 ...
- Python批量获取基金季报
大家好,我是小一 最近研究基金的时候,突然对今年来收益最高的基金有点好奇,于是去翻了翻该基金的业绩报告. 好家伙,今年来收益接近30%了,这还是最近一段时间回调了,如果在9月初那会,净值最高冲到了2. ...
- 『Tricks』用Python批量获取地理位置的经纬度信息
利用Python来批量自动获取指定位置的经纬度信息,并且将之保存到csv文件中. 文章目录 接口申请 获取经纬度 用apply()实现批量获取 小提示 参考文章 接口申请 首先,我们需要一个接口, ...
最新文章
- 中国编程第一人,李开复欣赏他,百度留不住他...
- 洛谷P3953 逛公园
- 一训练就显存爆炸?Facebook 推出 8 比特优化器,两行代码拯救你的显存
- 粒子群算法matlab多元,进化算法之粒子群算法和Matlab实现(多维)
- select into from 用法_年轻同事不讲武德,直接怼上MySQL常见SQL的七大错误用法
- e盘是否具有读写权限_轻松搭建MySQL主从复制、读写分离(双机热备)
- 在编码中熟练使用JDK文档
- new、delete与malloc、free的详解
- iis服务器udp协议,Win2003系统的IIS服务的w3wp.exe使用UDP的80端口发送大量的数据包,寻求帮助...
- knewone最新分享购物网站模板
- java selector wakeup_Selector
- c++ math头文件一些函数使用记录
- python安装包国内镜像,pip使用国内镜像
- 语音信号处理(赵力)作业答案第8章——语音合成
- win这样设置能够让你的耳机/音响拥有更好的效果-音效增强
- 分布式高可靠:流量控制
- 漏洞库:爬取CNVD-国家信息安全漏洞共享平台漏洞库
- 如何成为一个更好的程序员,或者说是学习者?给你七个建议!
- 计算机组成与设计:计算机概要与技术
- AUTOSAR 通信栈配置