AliExpress全球速卖通,又称国际版淘宝,是一款面向海外的购物网站。

之前有获取过Amazon的信息,偶然间发现了这个网站,所以今天看看这个国际版淘宝上面有没有我想要的东西。

不知道这上面能不能买到原价的XboxSerisX

网站分析

为了找到上面有没有原价的Xbox,首先在首页,搜一下PS5 ,再查看一下请求:

嗯,很直白的get请求,所有的参数链接上都写得清清楚楚。下面尝试一下翻页。

点击下一页之后呢,Doc选项卡没有任何变化,那就再XHR选项卡找,果然找到了翻页的请求:

说实话看到那么长的链接,心里有一种想法:这网站会不会翻车?

简化下链接,把一堆恼人的数字参数去掉之后,把链接拿出来单独请求:        

完美的触发了验证滑块 。

那我不妨换个思路,直接请求地址栏的链接,不去请求他的api接口呢?结果是可以的,改变一下page参数就可以了:

url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}&ltype=wholesale&SortType=default&page={page}'

开始请求

一般的Get请求即可:

def get_res(word):url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}&ltype=wholesale&SortType=default&page={page}'res = requests.get(url, headers=self.headers,timeout=10)if res.status_code == 200:content = res.content.decode('utf-8')

查看返回值,他的内容是js加载的:

从上面的content变量里,用re正则表达式获取其中的内容,转化成json字符串:

content = res.content.decode('utf-8')
info = re.findall("window.runParams = (\{.*\})",content)[-1]
info = info.replace('false','False').replace('true','True')
datas = eval(info)['mods']['itemList']['content']

眼花了吗?你跺你也麻

如何从那么乱七八糟的东西快速找到我们想要的东西呢?json格式化啊!百度json格式化,复杂的json也能一层一层剥开他的心(要把单引号替换成双引号哦):

这样我们就能快速找到我们想要的内容了,我只要title和url就可以了,反正可以自定义,管他呢。

 对了,url是用json里面的productId拼凑出来的

代理设置

刚才也看到了,滑块验证不知道什么时候就出现了。如果想顺利的获取想要的数据,高效稳定的代理肯定是少不了的。

我这里呢使用的是ipidea的代理,新用户可以白嫖流量,效果好不好不妨可以试试

 地址:http://www.ipidea.net/?utm-source=csdn&utm-keyword=?wb 

本人亲测高并发下成功率可不低的哦。

本次使用的是ipidea的账密代理方式;

设置好帐号信息,将账密的链接当成代理信息传进去就可以了:

entry = '账密链接'
proxy = {'http': entry,'https': entry,
}
url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}&ltype=wholesale&SortType=default&page={page}'
res = requests.get(url,headers=headers, proxies=proxy)
if res.status_code == 200:content = res.content.decode('utf-8')

这样代理或配置完成

完整代码

import requests
import re
import multiprocessing as mp
from loguru import loggerclass aliExpress():def __init__(self):self.manager = mp.Managerself.headers = {"authority":"www.aliexpress.com","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",}#地址:http://www.ipidea.net/?utm-source=csdn&utm-keyword=?wb entry = '账密链接'self.proxy = {'http': entry,'https': entry,}self.resultList = self.manager().list()def get_res(self,i,word):logger.info(f"开始测试{word}")url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}&ltype=wholesale&SortType=default&page=1'try:res = requests.get(url,headers = self.headers,proxies = self.proxy)if res.status_code == 200:content = res.content.decode('utf-8')info = re.findall("window.runParams = (\{.*\})",content)[-1]info = info.replace('false','False').replace('true','True')datas = eval(info)['mods']['itemList']['content']for data in datas:print(data)exit()itemData = {}itemData['title'] = data['title']['displayTitle']itemId = data['productId']itemData['itemUrl'] = f'https://www.aliexpress.com/item/{itemId}.html'print(itemData)except Exception as e:print('error',e)def start(self):keywords = [关键词list]for word in keywords:self.get_res(1,word)if __name__ == '__main__':aliExpress().start()

使用Python获取国际版淘宝AliExpress的商品信息相关推荐

  1. python爬虫 爬取淘宝搜索页面商品信息数据

    主要使用的库: requests:爬虫请求并获取源码 re:使用正则表达式提取数据 json:使用JSON提取数据 pandas:使用pandans存储数据 以下是源代码: #!coding=utf- ...

  2. 淘宝开放平台Api的小试牛刀(获取淘宝客推广商品信息)

    最近在学习淘宝开放平台,属于初学小菜鸟,有一点点小成就给大家分享一下. 要做这个东西,第一步你必须注册为淘宝开发方平台的开发人员.地址:http://open.taobao.com/index.htm ...

  3. Python 002- 爬虫爬取淘宝上耳机的信息

    参照:https://mp.weixin.qq.com/s/gwzym3Za-qQAiEnVP2eYjQ 一般看源码就可以解决问题啦 1 #-*- coding:utf-8 -*- 2 import ...

  4. 通过Python自动爬取某宝网上的商品信息

    前端时间研究了一下Python,在网上搜了一下实战应用,感觉还不错. 一:思路 首先导入re库 访问淘宝搜索页 查看url参数信息 查看搜索结果页面,查看某个结果中的元素信息(例如:商品的名称,商品的 ...

  5. 如何抓取淘宝上的商品信息和详情页信息

    来源于微擎里的人人商城里的插件, 采用接口: 第一个接口未获取基本信息接口,id为淘宝商品ID http://hws.m.taobao.com/cache/wdetail/5.0/?id=' .$id ...

  6. 【爬虫】爬取淘宝网的商品信息

    文章目录 一.思路 1.根据关键词搜索 2.数据提取 3.数据保存 二.结果 三.源代码 一.思路 首先,从命令行参数列表中,提取出要爬取商品的关键词,根据关键词拼接URL,请求相应的URL,然后利用 ...

  7. 集成网易云信实现自定义消息(类似淘宝聊天发送商品信息)

    上篇文章,我们整理了网易云信的快速集成过程.有兴趣的小伙伴可以移步到:ios集成网易云信IM功能遇到的坑 .简单的实现一对一聊天界面或者查看最近联系人列表.我们只需直接调用NIMKit里面的NIMSe ...

  8. 使用 Python 全栈打造淘宝客微信机器人

    1 .前言 1.1.什么是淘宝客 相信很多人都听过或者接触过各类导购 APP.QQ 群.微信群分享一些淘宝商品的优惠券或是其他的优惠信息. 用户可以在这些渠道上获取到相较于从淘宝平台搜索出来的商品更加 ...

  9. python 登陆淘宝_如何用 Python 自动登录淘宝并保存登录信息?

    原标题:如何用 Python 自动登录淘宝并保存登录信息? 作者 | 猪哥 责编 | 伍杏玲 前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富.所以我们把之 ...

最新文章

  1. Bchd开发出可替代BCH全节点的公开API——gRPC
  2. c++ 绕点旋转坐标 实例
  3. html标签的嵌套规则
  4. 没有找到 html 模板,Spring Boot and Thymeleaf:找不到HTML模板
  5. django-oscar接入paypal的时候提示Error 10001 - Internal Error
  6. 关闭VS警告#pragma warning(disable:4996)
  7. Android使用SeekBar
  8. android mysql代码_LitePal——Android数据库框架完整使用手册(示例代码)
  9. Hive练习之join
  10. WIN10更新后超慢问题的解决
  11. basic语言基础 chm_拒付论文装订费错失博士学位,C语言之父毕业论文丢失52年重见天日...
  12. bestcoder#22NPY and girls
  13. SEM和TEM的相同点和不同点
  14. 超级女生最适合最妻子指数评析
  15. 居家洁士扫地机器人_如何避免买到“智障”扫地机器人,看这篇
  16. 关于jmp指令的机器码
  17. TS报错:TS2532: Object is possibly ‘undefined‘.
  18. Linux SDIO WIFI Marvell8801/Marvell88w8801(八) --- Marvell Linux Wi-Fi driver 对接芯片上行下行接口介绍
  19. stackoverflow出现的原因
  20. 数仓建模—数据领域常见概念与职位划分

热门文章

  1. Base58算法加密解密(Python实现)
  2. gitlab代码查看行数
  3. 昇腾Mindstudio官方样例黑白图片上色
  4. Windows桌面下面任务栏无法点击(卡住)的解决办法
  5. 力扣(145.102)补9.5
  6. 小荷才露尖尖角,和Flutter应用说你好
  7. 日式风格小荷才露尖尖角
  8. 胆结石饮食有什么禁忌?
  9. yarn : 无法加载文件 C:\Users\HYGK\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsof
  10. 项目开发遇到前端传递时间问题处理