爬虫 爬取天猫商品的封面信息

# 爬取搜索字段的封面信息

‘‘‘
q : 搜索的类型 可以识别中文

天猫控制登录字段:
sort: 排序
s:起始第几个商品   

问题1: 把s删除以后,虽说可以跳过登陆,但是只能访问第一页了,何解?
解决:  多次点击页面后发现,淘宝测试不完全,在点击跳转页面后,将其的url后的参数只保留
     q   totalPage   jumpto  三个字段后,就可以通过修改jumpto字段的值 来跳转到其他的页面

问题2: 解决登陆问题后,发现无法提前知道totalpage的总页数
解决:只要页面有显示,那我们就能拿到对应的数据,因此可以再search里输入totalPage字段,
发现该字段在input输入框内,拿到对应的属性,通过css的find查找,获得其值
‘‘‘

from requests_html import HTMLSession

session = HTMLSession()

keyword = input(‘输入要爬取的商品:‘)

params = {
    ‘totalPage‘:12,
    ‘jumpto‘:2,
    ‘q‘:keyword
}

url = ‘https://list.tmall.com/search_product.htm?‘

# 获取总页数:
def get_totalPage(url,params):
    r = session.request(method=‘get‘,url=url,params=params)
    totalPage = int(r.html.find(‘[name="totalPage"]‘,first=True).attrs.get(‘value‘))
    params[‘totalPage‘] = totalPage

# 改变jumpto字段的值,实现多次访问
def get_params(params,totalPage):
    for i in range(1,totalPage+1):
        params[‘jumpto‘] += 1
        yield params

# 获取男装的信息
def get_info(url,params):
    r = session.request(method=‘get‘,params=params,url=url)
    product_list = r.html.find(‘.product‘)
    for product_element in product_list:
        try:
            product_img_url = product_element.find(‘.productImg-wrap a img‘,first=True).attrs.get(‘src‘)
            product_title= product_element.find(‘.productTitle a‘,first=True).attrs.get(‘title‘)
            product_price = product_element.find(‘.productPrice em‘,first=True).attrs.get(‘title‘)
            product_shop_url = product_element.find(‘.productShop a‘,first=True).attrs.get(‘href‘)
            product_volume = product_element.find(‘.productStatus em‘,first=True).text

            print(product_img_url)
            print(product_title)
            print( product_price )
            print(product_shop_url)
            print(product_volume)
        except:
            print(‘部分商品详情存在问题!‘)  # 部分商品缺失字段,需要异常捕获

get_info(url,params)
for param in get_params(params,params[‘totalPage‘]):
    get_info(url,param)

原文地址:https://www.cnblogs.com/changwenjun-666/p/11355209.html

时间: 2024-07-31 10:36:14

爬虫 爬取天猫商品的封面信息的相关文章

Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情

Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.10-FINAL</version> </

Python编写网页爬虫爬取oj上的代码信息

OJ升级,代码可能会丢失. 所以要事先备份. 一开始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启发和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 python2.7版本, 试了一下修改到3.0版本, 要做很多包的更替,感觉比较烦,所以索性就在这个2.7版本上完善了. 首先观赏一下原始代码,我给加了一些注释: # -*- coding: cp936 -*- import urllib2 import urllib import re import

python制作爬虫爬取京东商品评论教程

作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D共18个尺寸,以及超过700条的购买评论. 京东商品评论信息是由JS动态加载的,所以直接抓取商品详

NodeJS 爬虫爬取LOL英雄联盟的英雄信息,superagent+cheerio+async

1.模块使用 (1)superagent:Nodejs中的http请求库(每个语言都有无数个,java的okhttp,ios的afnetworking) (2)cheerio:Nodejs中的html解析库(每个语言基本都有..) (3)async:Nodejs中的同/异步并发函数执行库(这个非常牛,其他语言同类型的不多) 2.爬取内容 多玩的英雄联盟英雄页面,通过解析页面内每个英雄的URL,然后并发请求英雄的详细数据,提取需要的数据得到结果 http://lol.duowan.com/hero

Java爬虫爬取京东商品信息

<strong> java<em style="color:red;">爬虫</em></strong>工具:Jsoup Maven地址 <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</ar

[爬虫]采用Go语言爬取天猫页面

最近工作中有一个需求,需要爬取天猫商品的信息,整个需求的过程如下: 修改后端广告交易平台的代码,从阿里上传的素材中解析url,该url格式如下: https://handycam.alicdn.com/slideshow/26/7ef5aed1e3c39843e8feac816a436ecf.mp4?content=%7B%22items%22%3A%5B%7B%22images%22%3A%5B%22https%3A%2F%2Fasearch.alicdn.com%2Fbao%2Fupload

c# 爬虫爬取京东所有商品信息

在一个小项目中,需要用到京东的所有商品ID,因此就用c#写了个简单的爬虫. 在解析HTML中没有使用正则表达式,而是借助开源项目HtmlAgilityPack解析HTML. 一.下载网页HTML 首先我们写一个公共方法用来下载网页的HTML. 在写下载HTML方法之前,我们需要去查看京东网页请求头的相关信息,在发送请求时需要用到. public static string DownloadHtml(string url, Encoding encode) { string html = stri

python爬虫实践——爬取京东商品信息

1 ''' 2 爬取京东商品信息: 3 请求url: 4 https://www.jd.com/ 5 提取商品信息: 6 1.商品详情页 7 2.商品名称 8 3.商品价格 9 4.评价人数 10 5.商品商家 11 ''' 12 from selenium import webdriver 13 from selenium.webdriver.common.keys import Keys 14 import time 15 16 17 def get_good(driver): 18 try

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

第三百三十四节,web爬虫讲解2-Scrapy框架爬虫-Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻标题和rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才显示信息,那么这种一般都是 js 的 Ajax 动态请求生成的信息 我们以百度新闻为列: 1.分析网站 首先我们浏览器打开百度新闻,在网页中间部分找一条新闻信息 然后查看源码,看看在源码里是否有