我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Python获取亚马逊商品信息

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Python获取亚马逊商品信息

这篇文章将为大家详细讲解有关怎么用Python获取亚马逊商品信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

引言

        亚马逊网站相较于国内的购物网站,可以直接使用python的最基本的requests进行请求。访问不是过于频繁,在未触发保护机制的情况下,可以获取我们想要的数据。本次通过以下三部分简单介绍下基本爬取流程:

使用requests的get请求,获取亚马逊列表和详情页的页面内容使用css/xpath对获取的内容进行解析,取得关键数据动态IP的作用及其使用方法

一、获取亚马逊列表页的信息

以游戏区为例:

怎么用Python获取亚马逊商品信息

        获取列表内能获取到的商品信息,如商品名,详情链接,进一步获取其他内容。

        用requests.get()获取网页内容,设置好header,利用xpath选择器选取相关标签的内容:

import requestsfrom parsel import Selectorfrom urllib.parse import urljoin spiderurl = 'https://www.amazon.com/s?i=videogames-intl-ship'headers = {    "authority": "www.amazon.com",    "user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.19 NetType/4G Language/zh_TW",}resp = requests.get(spiderurl, headers=headers)content = resp.content.decode('utf-8')select = Selector(text=content)nodes = select.xpath("//a[@title='product-detail']")for node in nodes:    itemUrl = node.xpath("./@href").extract_first()    itemName = node.xpath("./div/h3/span/text()").extract_first()    if itemUrl and itemName:        itemUrl = urljoin(spiderurl,itemUrl)#用urljoin方法凑完整链接        print(itemUrl,itemName)

        此时已经获取的当前列表页目前能获得的信息: 

怎么用Python获取亚马逊商品信息

二、获取详情页信息

 进入详情页:

怎么用Python获取亚马逊商品信息

        进入详情页之后,能获得更多的内容

        用requests.get()获取网页内容,css选取相关标签的内容:

res = requests.get(itemUrl, headers=headers)content = res.content.decode('utf-8')Select = Selector(text=content)itemPic = Select.css('#main-image::attr(class="lazy" data-src)').extract_first()itemPrice = Select.css('.a-offscreen::text').extract_first()itemInfo = Select.css('#feature-bullets').extract_first()data = {}data['itemUrl'] = itemUrldata['itemName'] = itemNamedata['itemPic'] = itemPicdata['itemPrice'] = itemPricedata['itemInfo'] = itemInfoprint(data)

         此时已经生成详情页数据的信息:

怎么用Python获取亚马逊商品信息

        目前涉及到的就是最基本的requests请求亚马逊并用css/xpath获取相应的信息。

三、代理设置 

        目前,国内访问亚马逊会很不稳定,我这边大概率会出现连接不上的情况。如果真的需要去爬取亚马逊的信息,最好使用一些稳定的代理,我这边自己使用的是ipidea的代理,可以白嫖50M流量。如果有代理的话访问的成功率会高,速度也会快一点。         

        代理使用有两种方式,一是通过api获取IP地址,还有用账密的方式使用,方法如下:

3.1.1 api获取代理

怎么用Python获取亚马逊商品信息

怎么用Python获取亚马逊商品信息

3.1.2 api获取ip代码

def getProxies():    # 获取且仅获取一个ip    api_url = '生成的api链接'    res = requests.get(api_url, timeout=5)    try:        if res.status_code == 200:            api_data = res.json()['data'][0]            proxies = {                'http': 'http://{}:{}'.format(api_data['ip'], api_data['port']),                'https': 'http://{}:{}'.format(api_data['ip'], api_data['port']),            }            print(proxies)            return proxies        else:            print('获取失败')    except:        print('获取失败')

3.2.1 账密获取代理 

         因为是账密验证,所以需要 去到账户中心填写信息创建子账户:

怎么用Python获取亚马逊商品信息

怎么用Python获取亚马逊商品信息

         创建好子账户之后,根据账号和密码获取链接:

3.2.2 账密获取代理代码

# 获取账密ipdef getAccountIp():    # 测试完成后返回代理proxy    mainUrl = 'https://api.myip.la/en?json'    headers = {        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",        "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.19 NetType/4G Language/zh_TW",    }    entry = 'http://{}-zone-custom{}:proxy.ipidea.io:2334'.format("帐号", "密码")    proxy = {        'http': entry,        'https': entry,    }    try:        res = requests.get(mainUrl, headers=headers, proxies=proxy, timeout=10)        if res.status_code == 200:            return proxy    except Exception as e:        print("访问失败", e)        pass

        使用代理之后,亚马逊商品信息的获取改善了不少,之前代码会报各种连接失败的错误,在requests请求之前调用代理获取的方法,方法return回代理ip并加入requests请求参数,就可以实现代理请求了。

四、全部代码

# coding=utf-8 import requestsfrom parsel import Selectorfrom urllib.parse import urljoin def getProxies():    # 获取且仅获取一个ip    api_url = '生成的api链接'    res = requests.get(api_url, timeout=5)    try:        if res.status_code == 200:            api_data = res.json()['data'][0]            proxies = {                'http': 'http://{}:{}'.format(api_data['ip'], api_data['port']),                'https': 'http://{}:{}'.format(api_data['ip'], api_data['port']),            }            print(proxies)            return proxies        else:            print('获取失败')    except:        print('获取失败') spiderurl = 'https://www.amazon.com/s?i=videogames-intl-ship'headers = {    "authority": "www.amazon.com",    "user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.19 NetType/4G Language/zh_TW",}proxies = getProxies()resp = requests.get(spiderurl, headers=headers, proxies=proxies)content = resp.content.decode('utf-8')select = Selector(text=content)nodes = select.xpath("//a[@title='product-detail']")for node in nodes:    itemUrl = node.xpath("./@href").extract_first()    itemName = node.xpath("./div/h3/span/text()").extract_first()    if itemUrl and itemName:        itemUrl = urljoin(spiderurl,itemUrl)        proxies = getProxies()        res = requests.get(itemUrl, headers=headers, proxies=proxies)        content = res.content.decode('utf-8')        Select = Selector(text=content)        itemPic = Select.css('#main-image::attr(class="lazy" data-src)').extract_first()        itemPrice = Select.css('.a-offscreen::text').extract_first()        itemInfo = Select.css('#feature-bullets').extract_first()        data = {}        data['itemUrl'] = itemUrl        data['itemName'] = itemName        data['itemPic'] = itemPic        data['itemPrice'] = itemPrice        data['itemInfo'] = itemInfo        print(data)

        通过上面的步骤,可以实现最基础的亚马逊的信息获取。

        目前只获得最基本的数据,若想获得更多也可以自行修改xpath/css选择器去拿到你想要的内容。而且稳定的动态IP能是你进行请求的时候少一点等待的时间,无论是编写中的测试还是小批量的爬取,都能提升工作的效率。以上就是全部的内容。 

关于“怎么用Python获取亚马逊商品信息”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Python获取亚马逊商品信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Python获取亚马逊商品信息

这篇文章将为大家详细讲解有关怎么用Python获取亚马逊商品信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言 亚马逊网站相较于国内的购物网站,可以直接使用python的最基本的requ
2023-06-26

使用Python怎么爬取淘宝的商品信息

这期内容当中小编将会给大家带来有关使用Python怎么爬取淘宝的商品信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy
2023-06-14

Python如何获取亚马逊的评论信息并进行处理

本篇内容主要讲解“Python如何获取亚马逊的评论信息并进行处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何获取亚马逊的评论信息并进行处理”吧!一、分析亚马逊的评论请求首先打开
2023-06-29

怎么做亚马逊服务器商品

选择可扩展性:您可以选择多个云服务器以扩展您的容量,但请确保您了解每个云服务器的可扩展性和容量限制。配置数据库:如果您要存储大量数据,您需要配置一个高可用性和强大的数据库,以确保您的业务可以持续运行。选择适当的存储选项:您可以选择多种存储选项,例如S3、HDS、AWSS3、AzureBlob、IBMS3、NAS等,以满足您的不同需求。选择可靠的数据库:确保您选择一个可靠的数据库,并确保您了解其支持的服务和数...
2023-10-27

怎么用云服务器做亚马逊商品

注册一个AWS账户并选择您的云服务器实例类型。在AWS管理控制台中,选择您想要的云服务器实例类型。配置您的基础设施和软件。这可能包括创建一个AWSS3存储库,配置您的数据库和使用SQL语句等。安装您的应用程序和插件。配置您的网站。您可以使用现有的网站构建工具或者使用开发工具来构建您的网站。测试您的网站并确保它能够在各种设备上正常运行。将您的网站上传到您的AWS存储库,并使用您的AWS账户登录您的云服...
2023-10-27

如何获取免费亚马逊服务器账号信息

1.亚马逊AWS免费套餐亚马逊AWS(AmazonWebServices)提供了一项免费套餐,可以让用户在一定时间内免费使用一些云计算资源。通过注册AWS免费套餐,您可以获得一些免费的亚马逊服务器账号信息。2.注册AWS免费套餐要注册AWS免费套餐,您需要遵循以下步骤:步骤1:访问AWS官方网站在浏览器中输入"aws.amazon.com",然后按下Enter键,访问AWS官方网站。步骤2:创建AWS账号点击网站右上角的"创建AWS账号"...
2023-10-27

亚马逊怎么买服务器商品呢

打开AmazonAWS官网,进入“产品”页面,选择“计算”分类下的“云服务器”选项。在“云服务器”页面中,选择适合自己需求的服务器类型,例如“EC2”、“Lightsail”等。选择服务器的配置,包括CPU、内存、存储等,根据自己的需求进行选择。确认商品的价格和数量,点击“立即购买”。选择支付方式并输入收货地址等信息。等待商品发货并完成订单
2023-10-27

亚马逊服务器怎么删除商品

如果您是亚马逊卖家,想要删除您的商品,可以按照以下步骤进行操作:登录您的亚马逊卖家中心账户。点击“库存”选项卡,然后选择“管理库存”。找到您想要删除的商品,然后点击“编辑”按钮。在商品编辑页面,向下滚动到页面底部,找到“删除商品”选项。点击“删除商品”按钮,然后在弹出的确认对话框中再次点击“删除”按钮。请注意,删除商品后,该商品将不再在您的亚马逊店铺中显示,并且无
2023-10-27

亚马逊服务器怎么选购商品

1.了解亚马逊服务器在选购亚马逊服务器之前,首先需要了解亚马逊服务器的基本知识。亚马逊服务器是一种云计算服务,可以提供强大的计算、存储和网络功能,以支持各种应用程序和业务。亚马逊服务器提供了多种不同的实例类型,每种实例类型都有不同的计算、存储和网络资源配置,以满足不同的应用程序需求。2.确定应用程序需求在选购亚马逊服务器之前,需要确定应用程序的需求。这包括计算、存储和网络资源的需求,以及应用程序的性能...
2023-10-27

怎么使用云服务器做亚马逊商品

注册一个亚马逊账户:首先需要注册一个亚马逊账户,并且开通相关的服务,如VerifiedforAmazonPrimeVirtualPrivateCloud,VerifiedforAmazonPrimeInstantDistributionProvider(PDS),并设置VerifiedProvider,然后可以在亚马逊后台上注册账户。购买云服务器:在购买云服务器之前,需要确保您有足够的空间和存储容量。您可以使用AWS、阿里云或其他云服务提供商来获取云服务器的资源。在购买云服务器时,需要确保选...
2023-10-27

亚马逊服务器怎么选好品牌的商品

稳定性和安全性:选择一个稳定、安全的服务器,能够保证您的网站能够快速、稳定地运行,避免由于服务器故障或者安全漏洞导致的数据丢失、网站崩溃等问题。扩展性和灵活性:选择一个可扩展的服务器架构,能够支持未来业务的扩展和变化,使您的业务能够更好地适应市场需求。价格和服务:选择一个价格合理、服务周到的服务器品牌,能够使您的业务获得更好的效益。技术支持和维护:选择一个有经验的服务器提供商,能够为您提供及时的技...
2023-10-27

亚马逊服务器怎么举报商家的商品

投诉商家的名称和地址。这有助于让商家知道他们的违规行为已经引起了消费者的注意。列出您已经采取的行动,比如退款或取消订单,并解释您已经尽了您的义务。提供相关证据,比如订单截图或者发票。提供您的账户和密码,以便商家可以更改或删除他们的商品。在信中提供联系方式,比如电话号码和电子邮件地址。最后,您应该在与商家沟通时保持礼貌和尊重。商家可能需要一些时间来理解您的问题,并采取行动来解决问题。
2023-10-27

亚马逊用云服务器怎么配置产品类型的信息

主机类型:可以使用AmazonEC2和AmazonVPC这两种主机类型来搭建不同的物理主机。CPU类型:AWS的CPU类型可以分为多种,如GPU、CUDA等,可以根据具体业务需要进行配置。内存类型:AWS的内存类型可以分为DDR4和DDR3,根据实际业务需要选择适合的内存类型。存储类型:AWS的存储类型可以分为SSD和S3这两种,SSD可以提供更快的读写速度,S3则提供了更多的磁盘容量和速度。带宽类型:AWS的带...
2023-10-27

亚马逊怎么买台服务器的商品

在AWS控制台上选择地区和服务器类型,包括实例类型、操作系统和存储空间。输入EMAIL地址、密码、帐号名称和基本信息,这些信息是购买服务器时需要提供的。在购买服务器时,您需要选择购买实例类型。在服务器类型中,您可以选择“ECS”或“S3”。如果您已经有一个ElasticContainerService实例,并且希望添加新的实例,您可以使用以下命令将其升级为ECS实例:AmazonECSSetuptoElasticContainerService如果...
2023-10-27

亚马逊云服务器怎么购买商品

1.创建AWS账户在购买亚马逊云服务器之前,您需要先创建一个AWS账户。如果您已经有了AWS账户,可以跳过这一步。如果您还没有AWS账户,请按照以下步骤创建:访问AWS官网(https://aws.amazon.com/)并单击“创建AWS账户”按钮。输入您的电子邮件地址、密码和账单信息。验证您的电子邮件地址和电话号码。选择您的支持计划和付款方式。2.登录AWS控制台在创建AWS账户后,您需要登录AWS控制台以购买亚马逊云服...
2023-10-27

亚马逊云怎么采购服务器商品

在官网上查找服务器产品,选择满足您需求的服务器,并下单购买。前往AWS官方支持页面了解更多有关AWS服务器的信息,例如AWS支持的硬件、软件、配置要求、可用性、安全性和价格等。通过AmazonRDS或其他云存储服务,将您的数据备份到AWS云端或AmazonEBS上。在AWS应用商店中搜索需要的服务和套餐,选择适合您的需求的选项。在AWS的安全中心中了解AWS提供的服务和解决方案,以及如何使用AWS的安全服务...
2023-10-27

怎么用云服务器做亚马逊商品架构

选择云服务器提供商:首先,你需要选择一个可靠的云服务器提供商,可以选择AWS、阿里云等。选择云服务器提供商时需要考虑一些因素,比如价格、稳定性、安全性等。可以参考官方文档或者咨询一些技术人员。搭建基础环境:在选择云服务器提供商后,你需要搭建一个基础环境,比如创建一个虚拟机,安装所需的软件包和驱动程序等。基础环境的搭建需要一定的技术能力,比如配置防火墙、安装VMware、安装Kubernetes等。部署商品:在基...
2023-10-27

如何用Python爬取当当、京东、亚马逊图书信息

本篇内容主要讲解“如何用Python爬取当当、京东、亚马逊图书信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Python爬取当当、京东、亚马逊图书信息”吧!注: 1.本程序采用 MSS
2023-06-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录