一.使用selenium 模拟浏览器操作爬取淘宝商品信息 之前我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密密钥等,所以如果想自己构造Ajax参数,还是比较困难的.对于这种页面,最方便快捷的抓取方法就是通过Selenium 目标:利用Selenium抓取淘宝商品并用pyquery解析得到商品的图片.名称.价格.购买人数.店铺名称和店铺所在地信息…
一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命…
#使用selenium+Carome/phantomJS模拟浏览器爬取淘宝商品信息 # 思路: # 第一步:利用selenium驱动浏览器,搜索商品信息,得到商品列表 # 第二步:分析商品页数,驱动浏览器翻页,并得到商品信息 # 第三步:爬取商品信息 # 第四步:存储到mongodb import re from selenium import webdriver from selenium.common.exceptions import TimeoutException from selen…
任务1:利用cookie可以免去登录的烦恼(验证码) ''' 只需要有登录后的cookie,就可以绕过验证码 登录后的cookie可以通过Selenium用第三方(微博)进行登录,不需要进行淘宝的滑动验证码 ''' import requests from urllib.parse import urlencode headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KH…
爬取淘宝商品信息 import pymysql import requests import re def getHTMLText(url): kv = {'cookie':'thw=cn; hng=CN%7Czh-CN%7CCNY%7C156; enc=ooWAQ8HPiBkBlDgWaQ2BoQXFD4cHXejeOP0Nq7xvbCuGN5yubT%2ByBjrb2j417KSrQkoR9YQxMFoqYufejy7Hlw%3D%3D; _m_h5_tk=9cc0be22588c97655…
import pymongo 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.wait im…
经过前面的一些基础学习,我们大致知道了如何爬取并解析一个网页中的信息,这里我们来做一个更有意思的事情,爬取MM图片并保存.网址为https://mm.taobao.com/json/request_top_list.htm.这个网址有很多页,通过在网址后添加?page=页码来进入指定的页. 为了爬取模特的图片,我们首先要找到各个模特自己的页面.通过查看网页源码,我们可以发现,模特各自的页面的特点如下: 我们可以通过查找class属性为lady-name的标签,然后取其href属性来获取各个模特各…
准备: 1.安装Selenium:终端输入 pip install selenium 2.安装下载Chromedriver:解压后放在…\Google\Chrome\Application\:如果是Mac,可放入/usr/locl/bin,并将此目录放入环境变量 3.安装pyquery:终端输入 pip install pyquery 4.安装pymongo:终端输入 pip install pymongo 5.安装MongoDB的PyCharm插件:Preferences——Plugins——…
import re from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_condi…
配置文件,配置好数据库名称,表名称,要搜索的产品类目,要爬取的页数 MONGO_URL = 'localhost' MONGO_DB = 'taobao' MONGO_TABLE = 'phone' SERVICE_ARGS = [ '--disk-cache=true', #在phantomjs时使用缓存 '--load-images=false' #使用phantomjs时不加载出图pain ] KEYWORD = '手机'MAXPAGE = 5 主程序 #!/usr/bin/env pyt…
from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as E…
!只用于学习用途! plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) :获得商品价格和view_price字段,并保存在plt中 tlt = re.findall(r'\"raw_title\"\:\".*?\"',html) :获得商品名称和raw_price字段,并保存在tlt中 price = eval(plt[i].split(':')[1]) :使用冒号分隔键…
Python 爬取淘宝商品数据挖掘分析实战 项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 爬取淘宝商品数据挖掘分析实战"> 项目目的 1. 对商品标题进行文本分析 词云可视化 2. 不同关键词word对应的sales的统计分析 3. 商品的价格分布情况分析 4. 商品的销量分布情况分析 5. 不同价格区间的商品的平均销量分布 6. 商品价格对销量的影响分析 7. 商品价格对销售额的影响分析 8…
项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. 不同关键词word对应的sales的统计分析 3. 商品的价格分布情况分析 4. 商品的销量分布情况分析 5. 不同价格区间的商品的平均销量分布 6. 商品价格对销量的影响分析 7. 商品价格对销售额的影响分析 8. 不同省份或城市的商品数量分布 9.不同省份的商品平均销量分布 注:本项目仅以以上几项分析为…
第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字“python”,然后搜索,显示如下搜索结果 从url连接中可以得到搜索商品的关键字是“q=”,所以我们要用的起始url为:https://s.taobao.com/search?q=python 然后翻页,先跳到第二页,url变为: 再跳到第三页,url变为: 经过对比发现,翻页后,变化的关键字是s,每次翻页,s便以44的倍数增长(可以数一下每页显示的商品数量,刚好是44) 所以可…
最近有人反映淘宝的搜索功能要登录才能用,原先的直接爬取的方法挂了.稍微把之前的代码修改了一下,登录采用最简单的复制cookie来解决. 顺便说一下,这只是根据搜索的的索引界面获取的信息,并未深入的获取每个具体商品的信息.为了以后有拓展空间,便于爬取详细的商品信息,我顺便把详情页的URL拿下来了. 淘宝的页面其实并未做多大改变(吐槽一下:淘宝的程序员也挺懒的),之前的代码只要加上登录功能就能使用. 直接上代码: import requests from bs4 import BeautifulSo…
方案1:一次性爬取全部淘宝美食信息 1. spider.py文件如下 __author__ = 'Administrator' from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditi…
--***2019-3-27测试有效***---- 第一步: 打开cmd,输入scrapy startproject taobao_s新建一个项目. 接着cd 进入我们的项目文件夹内输入scrapy genspider taobao www.taobao.com新建一个爬虫 文件内是这样的,tools是我建的一个工具模块,里面有一个处理数据的函数和selenium登录的函数. class TaobaoSpider(scrapy.Spider): name = 'taobao' # allowed…
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合的很紧密,剥离数据有一定的难度. 然后将获取的信息写入excel表格保存起来,这次只爬取了前面10页 的内容.在运行代码的过程中发现,30页后面的数据有问题,出现了手机价格为0的情况,这是不符合实际的,码也没有写错误处理的代码. 这次先写个粗略的,有点凌乱的感觉,下次有时间再系统的整理整理吧. 这是…
今天要写的是之前写过的一个程序,然后把它整理下,巩固下知识点,并对之前的代码进行一些改进. 今天要爬取的是淘宝里的关于手机的报价的信息,并按照自己想要价格来筛选. 要是有什么问题希望大佬能指出我的错误. 先列出代码中要用到的URL: 淘宝搜索手机的url:https://s.taobao.com/search?q=手机&s=0 代码用到的是requests - re 第一步: 先分析这个url,"?"后面的都是它的关键字,requests中get函数的关键字的参数是params…
# -*- coding:utf-8 -*- # author : yesehngbao # time:2018/3/29 import re import pymongo from lxml import etree from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import We…
# 使用selenium+phantomJS模拟浏览器爬取淘宝商品信息 # 思路: # 第一步:利用selenium驱动浏览器,搜索商品信息,得到商品列表 # 第二步:分析商品页数,驱动浏览器翻页,并得到商品信息 # 第三步:爬取商品信息 # 第四步:存储到mongodb from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui imp…
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 爬虫 爬取淘宝数据,本次采用的方法是:Selenium控制Chrome浏览器自动化操作.其实我们还可以利用Ajax接口来构造链接,但是非常繁琐(包含加密密钥等),直接使用Selenium来模拟浏览器会省去很多事情: 最常见的问题是chromedriver驱动与谷歌浏览器的版本不匹配,很容易就可以解决.接下来,我们就开始利用selenium抓取淘宝商品,并使用Xpath解析…
现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到左侧是主题市场,将鼠标移动到[女装/男装/内衣]这一栏目,我们可以看到更细类的展示 假如我们现在需要爬取[羽绒服],那么我们进入到[羽绒服]衣服这个界面 此时查看浏览器地址,我们可以看到 网址复制到word或者其他地方会发生url转码 我们可以选中[羽绒服模块的第1,2,3页进行网址对比],对比结果…
更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经不可能了.那本节就带大家抓取匿名旺旺号熟悉一下Selenium吧. 2016/7/1 前言 嗯,淘宝,它一直是个难搞的家伙. 而且买家在买宝贝的时候大多数都是匿名评论的,大家都知道非匿名评论是非常有用的,比如对于大数据分析,分析某个宝贝的购买用户星级状况等等. 现在已经不能获取非匿名了,此句已没有意…
简介 上一个博文已经讲述了如何使用selenium跳过webdriver检测并爬取天猫商品数据,所以在此不再详细讲,有需要思路的可以查看另外一篇博文. 源代码 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.w…
本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据,故需要借助于selenium模拟人的行为发起请求,输出源代码,然后解析源代码,得到我们想要的数据. 第一步:设置我们需要提取的字段,也就是在Scrapy框架中设置Item.py文件. class ProductItem(scrapy.Item): # define the fields for y…
前言: 无意中在网上发现了静觅大神(崔老师),又无意中发现自己硬盘里有静觅大神录制的视频,于是乎看了其中一个,可以说是非常牛逼了,让我这个用urllib,requests用了那么久的小白,体会到selenium的神奇之处,关键是虽然对小白来说信息量很大,但是讲得特别清楚,不亚于培训班哈哈哈哈.接下来言归正传. 使用Selenium模拟浏览器抓取淘宝美食信息并保存到MongoDB数据库,流程如下: 1.利用Selenium驱动浏览器搜索关键字,得到查询后的商品列表. 2.得到商品页码数,模拟翻页,…
各位同学们,好久没写原创技术文章了,最近有些忙,所以进度很慢,给大家道个歉. 警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系猪哥删除!!! 一.淘宝登录复习 前面我们已经介绍过了如何使用requests库登录淘宝,收到了很多同学的反馈和提问,猪哥感到很欣慰,同时对那些没有及时回复的同学说声抱歉! 顺便再提一下这个登录功能,代码是完全没有问题.如果你登录出现申请st码失败的错误时候,可以更换_verify_password方法中的所…
淘宝由于含有很多请求参数和加密参数,如果直接分析ajax会非常繁琐,selenium自动化测试工具可以驱动浏览器自动完成一些操作,如模拟点击.输入.下拉等,这样我们只需要关心操作而不需要关心后台发生了怎样的请求.PhantomJS是一个无界面的浏览器. 爬取淘宝搜索关键词下的宝贝内容,爬取到MONGODB,使用的解析库是pyquery. 步骤: 搜索关键字:利用Selenium驱动浏览器搜索关键字,得到查询后的商品列表. 分析页码并翻页:得到商品页码数,模拟翻页,得到后续页面的商品列表. 分析提…