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——批量获取某宝商品价格相关推荐

  1. python批量获取淘宝主图地址

    帮老婆整理一个任务表格,里面有几百条淘宝商品的链接,还需要从商品页面截图放上去,一个一个截图太麻烦了,于是用正则表达式把地址提取出来,再用vba把图片地址转换为图片. # -*- coding: UT ...

  2. Python网络爬虫获取淘宝商品价格

    1.Python网络爬虫获取淘宝商品价格代码: #-*-coding:utf-8-*- ''' Created on 2017年3月17日 @author: lavi ''' import reque ...

  3. 【ArcGIS遇上Python】python批量获取栅格数据四至(top,bottom,left,right)坐标代码

    上图所示为ArcGIS自带的影像数据,存放路径为C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源 ...

  4. python经纬度获取县名_利用 Python 批量获取县镇运输距离

    起因 最近做规划项目,领导让查出某几个市的所有乡镇级行政区域,距离所在县级行政中心的交通运输距离.想着也不是啥难事儿,高德地图一搜就有. 当我把各市行政区划统计完,发现一共有五百多个乡镇,意味着要在地 ...

  5. 极速系列04—python批量获取word/PDF/网页中的表格

    这里写目录标题 1 python批量获取word中的表格 目的: 1.1 简介 1.2 读取word文档内容 方法一 方法二 2 python批量获取PDF中的表格 目的: 2.1 简介 2.2 读取 ...

  6. 用python批量获取cad中线段点组成的凸包 + 面积

    用python批量获取cad中线段点组成的凸包 + 面积 效率实在太低,还是用c# 吧 import win32com.client import pythoncom import tubao imp ...

  7. Python 批量获取今日头条街拍美图

    大家好,在以前的文章中我们学了Ajax数据获取,这篇文章我们以今日头条为例,通过分析Ajax请求来抓取今日头条的街拍美图,并将图片下载到本地保存下来. 准备好没,我们现在开始!喜欢记得收藏.点赞.关注 ...

  8. Python批量获取基金季报

    大家好,我是小一 最近研究基金的时候,突然对今年来收益最高的基金有点好奇,于是去翻了翻该基金的业绩报告. 好家伙,今年来收益接近30%了,这还是最近一段时间回调了,如果在9月初那会,净值最高冲到了2. ...

  9. 『Tricks』用Python批量获取地理位置的经纬度信息

    利用Python来批量自动获取指定位置的经纬度信息,并且将之保存到csv文件中. 文章目录 接口申请 获取经纬度 用apply()实现批量获取 小提示 参考文章 接口申请   首先,我们需要一个接口, ...

最新文章

  1. 中国编程第一人,李开复欣赏他,百度留不住他...
  2. 洛谷P3953 逛公园
  3. 一训练就显存爆炸?Facebook 推出 8 比特优化器,两行代码拯救你的显存
  4. 粒子群算法matlab多元,进化算法之粒子群算法和Matlab实现(多维)
  5. select into from 用法_年轻同事不讲武德,直接怼上MySQL常见SQL的七大错误用法
  6. e盘是否具有读写权限_轻松搭建MySQL主从复制、读写分离(双机热备)
  7. 在编码中熟练使用JDK文档
  8. new、delete与malloc、free的详解
  9. iis服务器udp协议,Win2003系统的IIS服务的w3wp.exe使用UDP的80端口发送大量的数据包,寻求帮助...
  10. knewone最新分享购物网站模板
  11. java selector wakeup_Selector
  12. c++ math头文件一些函数使用记录
  13. python安装包国内镜像,pip使用国内镜像
  14. 语音信号处理(赵力)作业答案第8章——语音合成
  15. win这样设置能够让你的耳机/音响拥有更好的效果-音效增强
  16. 分布式高可靠:流量控制
  17. 漏洞库:爬取CNVD-国家信息安全漏洞共享平台漏洞库
  18. 如何成为一个更好的程序员,或者说是学习者?给你七个建议!
  19. 计算机组成与设计:计算机概要与技术
  20. AUTOSAR 通信栈配置

热门文章

  1. 关于DataTable查询数据的几种方式
  2. 新一代DirectX10前瞻
  3. 高效深度学习软硬件设计——神经网络压缩、 Pruning模型剪枝、权值共享、低秩近似
  4. 支持Jolla,支持Linux,支持开放,支持互联,Jolla屌丝逆袭
  5. yandex安卓android,首款Jolla手机国内首测【6】
  6. greensock又出重量级产品 - LoaderMax (转)
  7. 为什么科学家如此担心人工智能?
  8. 由十多位架构师打造的《面试突击核心讲》到底有多强?肝完金三银四稳了。
  9. 【CSP】202009-4 星际旅行(计算几何)
  10. 编程的各种骚操作(一)