Python3爬虫爬取淘宝商品数据

这次的主要的目的是从淘宝的搜索页面获取商品的信息。其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到。主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合的很紧密,剥离数据有一定的难度。

然后将获取的信息写入excel表格保存起来,这次只爬取了前面10页 的内容。在运行代码的过程中发现,30页后面的数据有问题,出现了手机价格为0的情况,这是不符合实际的,码也没有写错误处理的代码。

这次先写个粗略的,有点凌乱的感觉,下次有时间再系统的整理整理吧。

import requests
import re
from xlwt import Workbook
import xlrd
import time

def key_name( number ):
    #获取页面的内容并返回
    name = ‘手机‘
    URL_1 = "https://s.taobao.com/search?ie=utf8&initiative_id=staobaoz_20170905&stats_click=search_radio_all%3A1&js=1&imgfile=&q="
    URL_2 = "&suggest=0_1&_input_charset=utf-8&wq=u&suggest_query=u&source=suggest&p4ppushleft=5%2C48&s="
    URL = ( URL_1 + name + URL_2 + str(number))
    #print(URL)
    res = requests.get( URL )
    return res.text

def find_date( text):
    #根据整个页面的信息,获取商品的数据所在的HTML源码并放回
    reg = r‘,"data":{"spus":\[({.+?)\]}},"header":‘
    reg = re.compile(reg)
    info = re.findall(reg, text)
    return info[0]

def manipulation_data( info, N, sheet ):
    #解析获取的HTML源码,获取数据
    Date = eval(info)

    for d in Date:
        T = " ".join([t[‘tag‘] for t in d[‘tag_info‘]])
        #print(d[‘title‘] + ‘\t‘ + d[‘price‘] + ‘\t‘ + d[‘importantKey‘][0:len(d[‘importantKey‘])-1] + ‘\t‘ + T)

        sheet.write(N,0,d[‘title‘])
        sheet.write(N,1,d[‘price‘])
        sheet.write(N,2,T)
        N = N + 1
    return N

def main():

    book = Workbook()
    sheet = book.add_sheet(‘淘宝手机数据‘)
    sheet.write(0,0,‘品牌‘)
    sheet.write(0,1,‘价格‘)
    sheet.write(0,2,‘配置‘)
    book.save(‘淘宝手机数据.xls‘)
    #k用于生成链接,每个链接的最后面的数字相差48.
    #N用于记录表格的数据行数,便于写入数据
    k = 0
    N = 1
    for i in range(10+1):
        text = key_name( k + i * 48 )
        info = find_date(text)
        N = manipulation_data( info ,N, sheet )

        book.save(‘淘宝手机数据.xls‘)
        print(‘下载第‘ + str(i) + ‘页完成‘)

if __name__ == ‘__main__‘:
    main()
时间: 2024-10-08 10:55:32

Python3爬虫爬取淘宝商品数据的相关文章

利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程

项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. 不同关键词word对应的sales的统计分析 3. 商品的价格分布情况分析 4. 商品的销量分布情况分析 5. 不同价格区间的商品的平均销量分布 6. 商品价格对销量的影响分析 7. 商品价格对销售额的影响分析 8. 不同省份或城市的商品数量分布 9.不同省份的商品平均销量分布 注:本项目仅以以上几项分析为

利用Selenium爬取淘宝商品信息

一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命

淘宝密码(爬虫爬取淘宝美食的数据源码)

淘宝密码(爬虫爬取淘宝美食的数据源码) 正则匹配找规律 import re import requests # 在搜索框中输入美食得到的数据q=%E7%BE%8E%E9%A3%9Furl = 'https://s.taobao.com/search?q=%E7%BE%8E%E9%A3%9F'response = requests.get(url)# print(response.text) # 用正则对html源码进行解析到一个json数据pattern = re.compile('g_page

python基础项目实战:selenium控制浏览器爬取淘宝商品信息

今天为大家介绍一个Python利用selenium打开浏览器的方式来爬取淘宝商品的信息,下面就来看看,关于selenium的知识点,是如何做到控制浏览器获取网站的信息 导入第三方库 关键词搜索 抓取索引页 大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发.爬虫.django.数据挖掘等,零基础到项目实

使用Selenium爬取淘宝商品

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

爬虫技术:爬取淘宝美食数据:崔庆才思路

# TODO selenium已经被检测出来 import random import re import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions a

Selenium爬取淘宝商品概要入mongodb

准备: 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——

selenium+pyquery爬取淘宝商品信息

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

Python 爬取淘宝商品信息和相应价格

!只用于学习用途! 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]) :使用冒号分隔键