Python爬虫—手机销量

2023-11-09

#介绍:最近在学习Python的一些相关知识,爬虫是其中有趣的一项,现在把学习的过程整理出来,给自己留个印记。
##Selenium爬取天猫手机数据
淘宝的反爬虫有点厉害,光是登陆就研究了小一天,先是尝试模拟输入用户名和密码,但是会出现让拖动滑块,又研究拖动滑块,拖完显示“哎呀,出错了”,尝试了几次依然以失败告终。网上查资料过程中看到有说用微博账号直接登陆的,不会出现滑块问题,我是选择了直接半自动:手工扫码登陆(就是举着手机眼巴巴等二维码,生怕影响整个程序的运行)。
学习参照“Python3爬虫三大案例实战分享 / Selenium+Chrome/PhantomJS抓取
淘宝美食(无登陆环节)”链接:lhttps://edu.hellobi.com/course/156/play/lesson/2454
(Chrome和chromedriver要对应,这个也需要注意)
以下是爬取天猫的代码:

from selenium import webdriver
import time
import pandas as pd
from pandas import DataFrame
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from pyquery import PyQuery as pq

#路径为chromedriver.exe下载位置,
browser = webdriver.Chrome("D:\DRIVE\chromedriver.exe")
wait=WebDriverWait(browser,10)
df_a=DataFrame()


def search():
    browser.get("https://s.taobao.com")
    browser.maximize_window()
    browser.find_element_by_css_selector('#q').send_keys('手机')
    browser.find_element_by_css_selector('#J_SearchForm > div > div.search-button > button').click()
    time.sleep(5)
    #留取5秒时间进行扫码登陆
    browser.find_element_by_css_selector('#tabFilterMall').click()
    time.sleep(3)
    get_products()

#定义翻页
def next_page():
    for i in range (2,11):
    #等待加载到页码显示区
        WebDriverWait(browser, 5).until(
            ec.visibility_of_element_located((By.XPATH, '//*[@id="mainsrp-pager"]/div/div/div/div[2]')))
        input=browser.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[2]/input')
        submit=browser.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[2]/span[3]')
        input.clear()
        input.send_keys(i)
        submit.click()
        #等待加载到页码颜色高亮
        wait.until(ec.text_to_be_present_in_element((By.CSS_SELECTOR,'#mainsrp-pager > div > div > div > ul > li.item.active > span'),str(i)))
        get_products()
        time.sleep(5)

#定义获取页面信息
def get_products():
#先定
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫—手机销量 的相关文章

  • html5 css3教案,认识CSS3和HTML5

    内容简介 认识CSS3和HTML5 内容节选 共100页 本文写于2006年1月 当时IE7 IE8和Firefox3还未发行 文中所有说的浏览器支持均未包括这三个版本的浏览器 在IE8和Firefox3中 文中的大部分选择符已经被支持 d
  • android 实现GridView多选效果

    在使用 GridView的时候 有时需要多选上面显示的类容 比如批量删除上面显示的图片 批量上传图片等 这个时候我们可以使用层叠图来实现 效果如下 点击图片后 上面会显示出一个打钩的图片 如图 再点击选中图片 勾消失 转存失败重新上传取消
  • 基于均匀分布总体的样本及其概率密度函数的数据分析

    基于均匀分布总体的样本及其概率密度函数的数据分析 在数据分析中 我们经常遇到从某个总体中获取的样本数据 本文将讨论一个由均匀分布总体生成的样本 并使用R语言来演示相关的数据分析技术 首先 让我们了解均匀分布总体及其概率密度函数 均匀分布是一
  • 动态数据锚点定位

    锚点定位 左侧点击右侧锚点定位样式一 div class left a href book time a a href search a a href search flow a div div class right div div di
  • Java算法LC刷(3.无重复字符的最长子串)

    无重复字符的最长子串 package com core doc LeetCode public class T3 public static void main String args int map lengthOfLongestSubs
  • DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead

    问题描述 使用find element by id时报错 DeprecationWarning find element by commands are deprecated Please use find element instead
  • php组件缓冲区溢出漏洞,一个缓冲区溢出漏洞的简易教程

    这篇文章类似于 傻瓜系列之利用缓冲区溢出 在这类漏洞中 我们的做法是利用网络 程序控制器 输入等等 发送超大的数据缓冲区给程序 覆盖程序内存的重要部分 在这些缓冲区覆盖程序内存之后 我们可以重定向程序的执行流并运行注入代码 首先 我们需要做
  • 财务用计算机在成本核销,《初级会计电算化》精选题库附答案解析(五)

    初级会计电算化 练习题五 含答案解析 1 当月的记账凭证必须全部记账 如有未记账的当月凭证 系统将 TopSage A 不能结账 B 继续结账 C 放到下月 答案 A 2 往来账管理的往来客户档案的设置其最主要内容是 TopSage A 客
  • 关于 IDEA创建Spring项目时出现Cannot resolve plugin XXX的解决办法

    在创建spring项目时候Plugins文件夹下面出现许多的红色波浪报错 如下 org apache maven plugins maven clean plugin 2 5 org apache maven plugins maven c
  • 前端 - js - 编程题23 - 两数之和

    给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 你不能重复利用这个数组中同样的元素 示例 给定nums 2 7 11 15
  • Windows系统如何查看占用的端口

    Windows系统如何查看占用的端口 在有些时候 我们需要知道Windows系统占用了那些端口 比如 需要在服务器上部署一个应用程序时 需要给这个应用程序提供空闲端口用来通信 除了一些约定俗成的端口外 例如 HTTP服务占用80端口 FTP
  • Java多线程列子

    问题如下 两个线程 线程A 线程B 一个固定容量为50的队列List
  • 解决Spring boot 工程console打印太多信息

    resources下添加配置文件 logback xml 添加下面代码
  • 决策树(Decision Tree)

    一 简介 决策树 decision tree 是一种基本的分类与回归方法 本章主要讨论用于分类的决策树 决策树模型呈树形结构 在分类问题中 表示基于特征对实例进行分类的过程 它可以认为是if then规则的集合 也可以认为是定义在特征空间与
  • SpringBoot实战——个人博客项目

    目录 一 项目简介 二 项目整体架构 数据库模块 后端模块 前端模块 三 项目具体展示 四 项目的具体实现 1 一些准备工作 数据库 数据表的创建 设置数据库和MyBatis的配置 将前端项目引入到当前项目中 2 登录注册模块 实体类的创建
  • 【手写一个Tomcat】SimpleTomcat-01

    目录 前言 实现 http TomcatRequest http TomcatResponse http TomcatServlet SimpleTomcat servlet FirstServlet servlet SecondServl
  • 常用数据库validationQuery检查语句

    validationQuery是用来验证数据库连接的查询语句 这个查询语句必须是至少返回一条结果的SELECT语句 每种数据库都有各自的验证语句 下表中从网上收集了几种常见数据库的validationQuery 数据库 validation
  • 搭建服务注册与发现中心

    使 Spring Cloud Netflix 中的 Eureka 搭建服务注册与发现中 创建SpringBoot应 添加依赖 spring web eureka server 配置服务注册与发现中心 设置服务注册与发现中 的端 server
  • 数据挖掘应用实例_手把手教你做数据挖掘 !(附教程&数据源)

    作者 宋莹 本文长度为10427字 建议阅读20 分钟 本文为你介绍数据挖掘的知识及应用 引言最近笔者学到了一个新词 叫做 认知折叠 就是将复杂的事物包装成最简单的样子 让大家不用关心里面的细节就能方便使用 作为数据科学领域从业者 我们所做
  • 行业首发!《硬件工程师进阶武器库》免费赠送!限量2000份,送完不补!

    对于刚入硬件行业的3 5年工程师来说 如果能有一个好的师傅引路 那是最好不过的了 但是往往大神很少 能够愿意倾囊相授的也难遇到 如果在这个阶段 能够找到行业中top级企业内部的学习资料 或者高阶的技能图谱 或者行业大神的学习教程等等 就能够

随机推荐

  • Unity Koreographer 之 音乐制作插件介绍学习,一般使用步骤介绍(包括:一般音乐游戏制作流程简绍) 一

    Unity Koreographer 之 音乐制作插件介绍学习 一般使用步骤 介绍 一 目录 Unity Koreographer 之 音乐制作插件介绍学习 一般使用步骤 一 一 Koreographer 简单介绍 二 Koreograph
  • 例说数据结构&STL(一)——vector

    1 白话vector 向量 数据结构vector又称为动态数组 因为它无需像普通数组定义的时候规定具体空间大小 一定程度上可以节约内存空间 但是它又具有普通数组连续物理内存存储的优势 即各元素之间构成一个线性的前后次序 数据的物理存储位置与
  • Java中继承详解

    为什么要继承 面相对象思想中提出了继承的概念 专门用来进行共性抽取 实现代码复用 继承概念 子类将父类的一些属性与方法继承过来 然后自己再添加一些新的特性 继承的语法 1 在Java中如果要表示类之间的继承关系 需要借助extends关键字
  • 内存函数的介绍

    前言 本博客向大家介绍四个内存函数 memcpy 内存拷贝 memmove 内存移动 memcmp 内存比较 memset 内存设置 memcpy函数的介绍及其应用 num表示要拷贝几个字节 遇到 0 他并不会停下来 如果destinati
  • 图像处理(二十一)基于数据驱动的人脸卡通动画生成-Siggraph Asia 2014

    基于数据驱动的人脸卡通动画生成 原文地址 http blog csdn net hjimce article details 47083321 作者 hjimce 在现实生活中 我们经常会去评价一个人 长得是否漂亮 是不是帅哥美女 然而如何
  • 牛客10道练习题2--练习记录

    原题 牛客10道练习题2 meiribaofu的博客 CSDN博客 1 快递运输 一辆运送快递的货车 运送的快递均放在大小不等的长方体快递盒中 为了能够装载更多的快递 同时不能让货车超载 需要计算最多能装多少个快递 输入描述 第一行输入每个
  • 【华为OD机试】寻找身高相近的小朋友(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 题目描述 小明今年升学到小学一年级 来到新班级后发现其他小朋友们身高参差不齐 然后就想基于各小朋友和自
  • WSL使用史上最详细教程

    文章目录 1 概述 1 1 什么是适用于 Linux 的 Windows 子系统 1 2 什么是 WSL 2 1 3 WSL 2 中的新增功能 1 4 比较 WSL 2 和 WSL 1 1 4 1 比较功能 1 4 2 使用 Linux 文
  • 出现No module named ‘keras‘ 或者 module ‘xxxxxxx’ has no attribute ‘xxx’ 的问题原因和解决方案

    问题一 当导入keras工具包时出现 No module named keras 出现这个问题时 说明你的python语言库中并没有安装这个工具包 打开cmd 然后输入命令pip install keras就可以了 然后在python环境中
  • React-Native画线平滑处理

    参考 http blog csdn net pz789as article details 52795275 这次开发要手写画线 我们一般画线的时候是直接获取屏幕上的点 然后利用ART绘制出一天路径线 Sample React Native
  • 蓝桥杯 2019 JAVA A组 最大降雨量

    题目 试题四 最大降雨量 问题描述 由于沙之国长年干旱 法师小明准备施展自己的一个神秘法术来求雨 这个法术需要用到他手中的49张法术符 上面分别写着1至49这49个数字 法术一共持续7周 每天小明都要使用一张法术符 法术符不能重复使用 每周
  • Psins代码解析之全局变量&轨迹仿真(test_SINS_trj.m)&惯性解算(test_SINS.m)

    旋转椭球体的4个基本参数 长半轴 扁率 椭圆度 地心引力常数 自转角速率 以上内容来自 车载定位定向系统关键技术研究 付强文 旋转椭球体 地球自转角速度 地球重力加速度为 子午圈和卯酉圈曲率半径为 以上内容来自 捷联惯导算法及车载组合导航系
  • 梯度下降法求解方程的极值

    1 方法一 利用梯度下降算法求解y x 2的极值 注意 此种方法 除了x的更新之外 还有一点需要注意 那就迭代停止的条件 可以设置一个阈值a 比较x更新前后的y的差的绝对值与阈值a的大小 即 y与a的大小 当 y a时 停止迭代 impor
  • 设置熄屏_手机摁下这个开关,熄屏也能显示时间!很多人没用过,太可惜了

    其实在手机的使用过程中 很多实用功能都被大家忽略掉了 如手机熄屏显示时间这个功能 在日常生活中就十分的实用 但是很多人都没用过 这就很可惜了 下面我们就一起来看一下吧 1 华为手机 华为手机也是支持手机熄屏显示时间的 下面我们就一起来看一下
  • d3.js 小结

    D3 数据可视化库 D3 4 0 D3是目前最流行的JavaScript可视化图表库之一 D3的图表类型非常丰富 并且支持SVG格式 因此应用十分广泛 也有很多图表插件基于D3开发 比如MetricsGraphics js 在D3上构建的数
  • 自下而上的炫酷进度条 --- Android自定义组件进阶版

    效果展示 自下而上的炫酷进度条效果展示 源码分析 第一步 创建自定义组件类 第二步 自定义属性文件编写
  • face_recognition库使用教程

    Jupyter Notebook文件及图片数据见 百度网盘 import cv2 import dlib import math import pprint import numpy as np import face recognitio
  • WordPress系列教程(一)----WordPress环境准备与安装

    一 前言 前段时间自己搭建了个WordPress的博客 用来做资源分享 主要包括视频教程 电子书 源码等一些学习资源网站地址是 http www 98share cn 当时考虑的是练练手 所以在淘宝上 随便买了个虚拟主机 200多快挺便宜的
  • 数据结构:树(基本概念)

    树 集合中的元素关系呈现出一对多的情况 非线性结构 1 n 1 树的定义 树 Tree 是n n 0 个节点的有限集合T 它满足两个条件 有且仅有一个特定的称为根 Root 的节点 其余的节点可以分为m m 0 个互不相交的有限集合T1 T
  • Python爬虫—手机销量

    介绍 最近在学习Python的一些相关知识 爬虫是其中有趣的一项 现在把学习的过程整理出来 给自己留个印记 Selenium爬取天猫手机数据 淘宝的反爬虫有点厉害 光是登陆就研究了小一天 先是尝试模拟输入用户名和密码 但是会出现让拖动滑块