使用python爬取淘宝商品名称和价格

最近在家闲得无聊,由于家里开网点,妈妈对于起商品标题感到很头痛,所以我就想在淘宝爬取一些信息。

小破站找了个学习视频,跟一遍发现视频是2018年的,而淘宝在2019年可能加入了反爬取机制,使用正常的方法爬不到结果。

但是有一种方式可以爬取,要先登陆淘宝网页版,然后去搜索,获取cookie和user-agent。

代码如下:

import requests
import re

def getHTMLText(url):
    kv = {‘cookie‘:‘cna=54y8Fm+TyioCATzcP+BwvvDA; thw=cn; lgc=%5Cu58A8%5Cu8FF9%5Cu9519%5Cu54AF%5Cu548C; tracknick=%5Cu58A8%5Cu8FF9%5Cu9519%5Cu54AF%5Cu548C; tg=0; enc=p6YWWbSWACqr5t1PcdDiNADVd7zKpnQG9X%2FZ666%2Fl7CM9%2FsOLpiM1WX5QQNnS%2B5ydtOFYKtHlmwg9AgeUX0Rjg%3D%3D; mt=ci=25_1; hng=CN%7Czh-CN%7CCNY%7C156; _m_h5_tk=9564049e168909dda591afc00632fed0_1581060181038; _m_h5_tk_enc=69c0046fffbc1f3750258e3f8fb06eb6; v=0; t=a8c0eb2a0d2265808242379d7f81bf64; cookie2=1f0913be01a97ec8038fb3c5354c793a; _tb_token_=ed66e3be155ef; alitrackid=www.taobao.com; _samesite_flag_=true; sgcookie=Q0iMW4gaGTiQdKuBbG0Q; unb=2514996592; uc3=vt3=F8dBxdzxpjLCa1%2BSc2Y%3D&id2=UU2zVEbkyyO2WQ%3D%3D&nk2=p2NDIgVDkDZm7A%3D%3D&lg2=VT5L2FSpMGV7TQ%3D%3D; csg=5b7ad9c4; cookie17=UU2zVEbkyyO2WQ%3D%3D; dnk=%5Cu58A8%5Cu8FF9%5Cu9519%5Cu54AF%5Cu548C; skt=c0aa8f1a6e59edcd; existShop=MTU4MTU5NTkzOQ%3D%3D; uc4=nk4=0%40pVWU4YQkw8jOJbWHe0nFlK5IE6%2Bq&id4=0%40U2%2F0ltjMwUTM8KkFFqREWIu1Zr5o; _cc_=VFC%2FuZ9ajQ%3D%3D; _l_g_=Ug%3D%3D; sg=%E5%92%8C22; _nk_=%5Cu58A8%5Cu8FF9%5Cu9519%5Cu54AF%5Cu548C; cookie1=BxAV4i9dmFVSXeCQYeZRwnecoaXNB46utcHDDLh6ZgY%3D; lastalitrackid=i.taobao.com; uc1=cookie16=W5iHLLyFPlMGbLDwA%2BdvAGZqLg%3D%3D&cookie21=VT5L2FSpccLuJBreK%2BBd&cookie15=W5iHLLyFOGW7aA%3D%3D&existShop=false&pas=0&cookie14=UoTUO8VjZOZt2g%3D%3D&tag=8&lng=zh_CN; JSESSIONID=214606DAA803E833B2D19064DCFFE666; isg=BFZW9gNpFGQi5iC5GO6s0NHppwxY95oxuW-OAcC_eTnUg_cdPocWQaoxGxdvK5JJ; l=dBLXnIncQINxmF32BOCgC40XkGbTvIRfgukohvEHi_5Kv_8sGz_Oo7aMMEJ6cfWAMjxM4cULng2tieLYJiuKHdGJ4AadZxDDB‘,
          ‘user-agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36‘}
    try:
        r = requests.get(url, headers=kv,timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

def parsePage(ilt, html):
    try:
        plt = re.findall(r‘\"view_price\"\:\"[\d\.]*\"‘, html)
        tlt = re.findall(r‘\"raw_title\"\:\".*?\"‘, html)
        for i in range(len(plt)):
            price = eval(plt[i].split(‘:‘)[1])
            title = eval(tlt[i].split(‘:‘)[1])
            ilt.append([price, title])
    except:
        print("")

def printGoodsList(ilt):
    tplt = "{:4}\t{:8}\t{:16}"
    print(tplt.format("序号", "价格", "商品名称"))
    count = 0
    for g in ilt:
        count = count + 1
        print(tplt.format(count, g[0], g[1]))

def main():
    goods = ‘中老年服饰‘
    depth = 3
    start_url = ‘https://s.taobao.com/search?q=‘ + goods
    infoList = []
    for i in range(depth):
        try:
            url = start_url + ‘&s=‘ + str(44 * i)
            html = getHTMLText(url)
            parsePage(infoList, html)
        except:
            continue
    printGoodsList(infoList)

main()

 最终爬取的结果如下图所示:

 问题:

需要间歇的更换cookie,否则会爬几次后爬不到数据

原文地址:https://www.cnblogs.com/lijiahaoAA/p/12305034.html

时间: 2024-10-07 17:52:31

使用python爬取淘宝商品名称和价格的相关文章

python 爬取淘宝模特信息

通过本篇博文,介绍一下我对指定信息进行爬取的时候的思路,顺便贴一下代码. 一.首先获取想要爬取的网站的url链接的规则变化 可以看出来该网站页面的url结构简单,变化的只是https://mm.taobao.com/json/request_top_list.htm?page= page的值 二.对网站页面的DOM树的结构进行分析,方便我们获取我们想要的内容信息, 我写了个简单的网页分析脚本analyze.py:用来输出DOM树,方便我后面做筛选. # -*- coding:utf-8 -*-

python 爬取淘宝的模特照片

前段时间花了一部分时间学习下正则表达式,总觉得利用正则要做点什么事情,所以想通过爬取页面的方式把一些美女的照片保存下来,其实过程很简单. 1.首先读取页面信息: 2.过滤出来照片的url地址: 3.通过URL地址来保存图片: #-*-coding:utf-8 -*- '''爬取评论区的美女照片''' import requests import re RE_PICTURE_NAME = re.compile(r'(\w)+\.[A-Za-z]+$') RE_URL = re.compile(r'

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]) :使用冒号分隔键

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

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

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

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

利用Selenium爬取淘宝商品信息

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

python3爬取淘宝美食

环境:ubuntu16.04python3.5python库: selenium, pyquery,pymongo, re 要求:设置×××面浏览器访问,并将商品列表存入mongoDB数据库. 分析流程: #!/usr/bin/env python # -*- coding:utf-8 -*- """ 1.爬取淘宝美食的流程 - 搜索关键字: 用selenium打开浏览器,模拟输入关键字,并搜索对应的商品列表. - 分析页码并翻页,模拟翻页,查看到所有页面的商品列表. - 分

selenium跳过webdriver检测并爬取淘宝我已购买的宝贝数据

简介 上一个博文已经讲述了如何使用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

用selenium爬取淘宝美食

'''利用selenium爬取淘宝美食网页内容''' 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.su