AliExpress寰球速卖通,又称国际版淘宝,是一款面向海内的购物网站。
之前有获取过Amazon的信息,偶然间发现了这个网站,所以明天看看这个国际版淘宝下面有没有我想要的货色。
不晓得这下面能不能买到原价的XboxSerisX呢?
网站剖析
为了找到下面有没有原价的Xbox,首先在首页,搜一下PS5 ,再查看一下申请:
嗯,很直白的get申请,所有的参数链接上都写得清清楚楚。上面尝试一下翻页。
点击下一页之后呢,Doc选项卡没有任何变动,那就再XHR选项卡找,果然找到了翻页的申请:
简化下链接,把一堆宜人的数字参数去掉之后,把链接拿进去独自申请:
完满的触发了验证滑块 。
那我无妨换个思路,间接申请地址栏的链接,不去申请他的api接口呢?后果是能够的,扭转一下page参数就能够了:
1.url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}<ype=wholesale&SortType=default&page={page}'
开始申请
个别的Get申请即可:
1.def get_res(word): 2. url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}<ype=wholesale&SortType=default&page={page}' 3. res = requests.get(url, headers=self.headers,timeout=10) 4. if res.status_code == 200: 5. content = res.content.decode('utf-8')
查看返回值,他的内容是js加载的:
从下面的content变量里,用re正则表达式获取其中的内容,转化成json字符串:
1.content = res.content.decode('utf-8') 2.info = re.findall("window.runParams = (\{.*\})",content)[-1] 3.info = info.replace('false','False').replace('true','True') 4.datas = eval(info)['mods']['itemList']['content']
如何从那么乌七八糟的货色疾速找到咱们想要的货色呢?json格式化啊!百度json格式化,简单的json也能一层一层剥开他的心(要把单引号替换成双引号哦):
这样咱们就能疾速找到咱们想要的内容了,我只有title和url就能够了,反正能够自定义,管他呢。
代理设置
方才也看到了,滑块验证不晓得什么时候就呈现了。如果想顺利的获取想要的数据,高效稳固的代理必定是少不了的。
我这里呢应用的是ipidea的代理,新用户能够白嫖流量,成果好不好无妨能够试试
地址:http://www.ipidea.net/
自己亲测高并发下成功率可不低的哦。
本次应用的是ipidea的账密代理形式;
设置好帐号信息,将账密的链接当成代理信息传进去就能够了:
1.entry = '账密链接' 2.proxy = { 3. 'http': entry, 4. 'https': entry, 5.} 6.url = f'https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={word}<ype=wholesale&SortType=default&page={page}' 7.res = requests.get(url,headers=headers, proxies=proxy) 8.if res.status_code == 200: 9. content = res.content.decode('utf-8')
残缺代码