Python电商爬虫,法国亚马逊商品采集

2024-02-07 00:10

本文主要是介绍Python电商爬虫,法国亚马逊商品采集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亚马逊还是一个不错,挺有意思的网站,相对于国内电商平台,淘宝而言,它对于你爬的容忍度似乎更高?不知道反爬频率是多大,而不同的国家与地区有不同的网站,最关键的就是域名后缀,比如国内是cn,国际美国亚马逊是com,不过大部分国外站点是需要翻墙,而法国亚马逊恰好是一个国内可以访问的站点。

             

一个网友可以问询的东西,法国亚马逊采集,花了一点时间,搞了个很基础的demo,好像还是常规的一些东西,除了商品大图花费了不少时间,发现可以在js里可以获取到完整的商品大图,急着去买菜,所以也就有了这样一个基础版本。

通过调试,还是发现会存在获取不到的问题,不知道是反爬限制还是其他原因,待研究。

商品标题的获取

其实直接取title应该更简单,我这里是取得页面内容的标题。

req.xpath('//h1[@id="title"]/span[@id="productTitle"]/text()')

             

商品属性的获取

这里没有花很多时间去看,没看出是否存在链接,仅仅是把所有属性给提取出来了。

req.xpath('//ul[@class="a-unordered-list a-nostyle a-button-list a-declarative a-button-toggle-group a-horizontal a-spacing-top-micro swatches swatchesSquare"]/li')

             

商品描述的获取

进行了简单的格式化处理

productDescriptions=req.xpath('//div[@id="productDescription"]//text()')
productDescription=''.join(productDescriptions)

商品大图的获取

花费了不少时间,主要是找到图片链接费了不少力气,写入到js中了,没办法,只能用正则获取到图片链接。

imgs_text=re.findall(r'ImageBlockATF(.+?)return data;',html,re.S)[0]
imgs=re.findall(r'"large":"(.+?)","main":',imgs_text,re.S)

             

 

exe打包

链接:

https://pan.baidu.com/s/1rMqVT3s00EORUziJekq2SA

提取码:

35ds

             

 

附源码,仅供参考,学习,交流:

#法国亚马逊商品采集
#20200524 by 微信:huguo00289
#https://www.amazon.fr/dp/B07CNJTCBB/ref=twister_B07RVPW2GT?_encoding=UTF8&th=1# -*- coding=utf-8 -*-
import requests
from fake_useragent import UserAgent
import re,os,time,random
from lxml import etreedef ua():ua=UserAgent()headers={"User-Agent":ua.random}return headersdef get_data(url):id=re.findall(r'dp/(.+?)/',url,re.S)[0]print(f'>>>您输入的商品链接id为:{id},正在采集,请稍后..')response=requests.get(url,headers=ua(),timeout=8)time.sleep(2)if response.status_code == 200:print(">>>恭喜,获取网页数据成功!")html=response.content.decode('utf-8')with open(f'{id}.html','w',encoding='utf-8') as f:f.write(html)req=etree.HTML(html)h1=req.xpath('//h1[@id="title"]/span[@id="productTitle"]/text()')print(h1)h1=h1[0].strip()print(f'商品标题:{h1}')productDescriptions=req.xpath('//div[@id="productDescription"]//text()')productDescription=''.join(productDescriptions)print(f'商品描述:{productDescription}')imgs_text=re.findall(r'ImageBlockATF(.+?)return data;',html,re.S)[0]imgs=re.findall(r'"large":"(.+?)","main":',imgs_text,re.S)print(imgs)text=f'商品标题:{h1}\n商品描述:{productDescription}\n商品图片{imgs}'with open(f'{id}.txt','w',encoding='utf-8') as f:f.write(text)print(f">>>恭喜,保存商品数据成功,已保存为{id}.txt")lis=req.xpath('//ul[@class="a-unordered-list a-nostyle a-button-list a-declarative a-button-toggle-group a-horizontal a-spacing-top-micro swatches swatchesSquare"]/li')if len(lis)>1:print(f">>>商品存在分类属性,共有{len(lis)}分类!")spans=req.xpath('//div[@class="twisterTextDiv text"]/span[@class="a-size-base"]/text()')print(spans)if __name__ == '__main__':print("亚马逊采集工具-by 微信公众号:二爷记")print("BUG反馈 微信:huguo00289")print("请输入要采集的网址,按回车运行")url=input("请输入要采集的商品网址:")try:get_data(url)except Exception as e:if "port=443" in e:print("获取网页链接超时,正在重试..")get_data(url)print("采集完毕!")print("8s后,程序自动关闭,BUG反馈 微信:huguo00289")time.sleep(8)

这篇关于Python电商爬虫,法国亚马逊商品采集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685967

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: