python爬虫爬取淘宝商品信息(selenum+phontomjs)


Posted in Python onFebruary 24, 2018

本文实例为大家分享了python爬虫爬取淘宝商品的具体代码,供大家参考,具体内容如下

1、需求目标

进去淘宝页面,搜索耐克关键词,抓取 商品的标题,链接,价格,城市,旺旺号,付款人数,进去第二层,抓取商品的销售量,款号等。

python爬虫爬取淘宝商品信息(selenum+phontomjs)

python爬虫爬取淘宝商品信息(selenum+phontomjs)

python爬虫爬取淘宝商品信息(selenum+phontomjs)

2、结果展示

python爬虫爬取淘宝商品信息(selenum+phontomjs)

3、源代码

# encoding: utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
import pandas as pd
time1=time.time()
from lxml import etree
from selenium import webdriver
#########自动模拟
driver=webdriver.PhantomJS(executable_path='D:/Python27/Scripts/phantomjs.exe')
import re

#################定义列表存储#############
title=[]
price=[]
city=[]
shop_name=[]
num=[]
link=[]
sale=[]
number=[]

#####输入关键词耐克(这里必须用unicode)
keyword="%E8%80%90%E5%85%8B"


for i in range(0,1):

  try:
    print "...............正在抓取第"+str(i)+"页..........................."

    url="https://s.taobao.com/search?q=%E8%80%90%E5%85%8B&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170710&ie=utf8&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s="+str(i*44)
    driver.get(url)
    time.sleep(5)
    html=driver.page_source

    selector=etree.HTML(html)
    title1=selector.xpath('//div[@class="row row-2 title"]/a')
    for each in title1:
      print each.xpath('string(.)').strip()
      title.append(each.xpath('string(.)').strip())


    price1=selector.xpath('//div[@class="price g_price g_price-highlight"]/strong/text()')
    for each in price1:
      print each
      price.append(each)


    city1=selector.xpath('//div[@class="location"]/text()')
    for each in city1:
      print each
      city.append(each)


    num1=selector.xpath('//div[@class="deal-cnt"]/text()')
    for each in num1:
      print each
      num.append(each)


    shop_name1=selector.xpath('//div[@class="shop"]/a/span[2]/text()')
    for each in shop_name1:
      print each
      shop_name.append(each)


    link1=selector.xpath('//div[@class="row row-2 title"]/a/@href')
    for each in link1:
      kk="https://" + each


      link.append("https://" + each)
      if "https" in each:
        print each

        driver.get(each)
      else:
        print "https://" + each
        driver.get("https://" + each)
      time.sleep(3)
      html2=driver.page_source
      selector2=etree.HTML(html2)

      sale1=selector2.xpath('//*[@id="J_DetailMeta"]/div[1]/div[1]/div/ul/li[1]/div/span[2]/text()')
      for each in sale1:
        print each
        sale.append(each)

      sale2=selector2.xpath('//strong[@id="J_SellCounter"]/text()')
      for each in sale2:
        print each
        sale.append(each)

      if "tmall" in kk:
        number1 = re.findall('<ul id="J_AttrUL">(.*?)</ul>', html2, re.S)
        for each in number1:
          m = re.findall('>*号: (.*?)</li>', str(each).strip(), re.S)
          if len(m) > 0:
            for each1 in m:
              print each1
              number.append(each1)

          else:
            number.append("NULL")

      if "taobao" in kk:
        number2=re.findall('<ul class="attributes-list">(.*?)</ul>',html2,re.S)
        for each in number2:
          h=re.findall('>*号: (.*?)</li>', str(each).strip(), re.S)
          if len(m) > 0:
            for each2 in h:
              print each2
              number.append(each2)

          else:
            number.append("NULL")

      if "click" in kk:
        number.append("NULL")

  except:
    pass


print len(title),len(city),len(price),len(num),len(shop_name),len(link),len(sale),len(number)

# #
# ######数据框
data1=pd.DataFrame({"标题":title,"价格":price,"旺旺":shop_name,"城市":city,"付款人数":num,"链接":link,"销量":sale,"款号":number})
print data1
# 写出excel
writer = pd.ExcelWriter(r'C:\\taobao_spider2.xlsx', engine='xlsxwriter', options={'strings_to_urls': False})
data1.to_excel(writer, index=False)
writer.close()

time2 = time.time()
print u'ok,爬虫结束!'
print u'总共耗时:' + str(time2 - time1) + 's'
####关闭浏览器
driver.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python下的Mysql模块MySQLdb安装详解
Apr 09 Python
深入理解Javascript中的this关键字
Mar 27 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
python3实现windows下同名进程监控
Jun 21 Python
Python中反射和描述器总结
Sep 23 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
python如何处理程序无法打开
Jun 16 Python
5款实用的python 工具推荐
Oct 13 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
python正则表达式爬取猫眼电影top100
Feb 24 #Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 #Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 #Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 #Python
Python 中Pickle库的使用详解
Feb 24 #Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 #Python
python3+mysql查询数据并通过邮件群发excel附件
Feb 24 #Python
You might like
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
python使用urllib2提交http post请求的方法
2015/05/26 Python
python实现神经网络感知器算法
2017/12/20 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Python中的heapq模块源码详析
2019/01/08 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
《挑山工》的教学反思
2014/02/16 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
销售目标责任书
2014/07/23 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
员工工作自我评价
2014/09/26 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
英文版辞职信
2015/02/28 职场文书