站长资讯网
最全最丰富的资讯网站

用Python获取Amazon亚马逊的商品信息

引言

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

  • 使用requests的get请求,获取亚马逊列表和详情页的页面内容

  • 使用css/xpath对获取的内容进行解析,取得关键数据

  • 动态IP的作用及其使用方法

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

以游戏区为例:

用Python获取Amazon亚马逊的商品信息

程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步

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

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

import requests   from parsel import Selector   from 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/h2/span/text()").extract_first()       if itemUrl and itemName:           itemUrl = urljoin(spiderurl,itemUrl)#用urljoin方法凑完整链接           print(itemUrl,itemName)
登录后复制

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

用Python获取Amazon亚马逊的商品信息

二、获取详情页信息

进入详情页:

用Python获取Amazon亚马逊的商品信息

进入详情页之后,能获得

赞(1)
分享到: 更多 (0)