速卖通,aliexpress,关键词搜索,获取商品数据,销量,评价,价格,上架时间,图片,openpyxl 写入excel中

咋们先来看看运行结果

 

 

 

 下面来上代码,完整代码,复制就可以运行的。不懂得或报错的,请留言。

# -*- coding:utf-8 -*
import requests
import re
import os
import json
from fake_useragent import UserAgent
import openpyxl
from openpyxl.drawing.image import Image
from lxml import etree
from datetime import datetime
import time
from hashlib import md5
import randoms = requests.Session()
file_name = time.strftime("%Y%m%d")  # 获取此时时间
file_path = r"D:\code\aliexpress\\"  # 磁盘路径class SMT(object):def __init__(self):self.url = "https://feedback.aliexpress.com/display/productEvaluation.htm"self.excel_key = 2  # 表格从第二行开始插入def get_all_url(self):headers = {'User-Agent': (UserAgent()).random}response = requests.get("https://pt.aliexpress.com/", headers=headers, timeout=60)cookies = response.cookies# 获取cookiex_csrf = "".join(re.findall(r'x_csrf(.*?) for', str(cookies)))  # 1aep_usuc_f = "".join(re.findall(r'aep_usuc_f(.*?) for', str(cookies)))  # 3ali_apache_id = "".join(re.findall(r'ali_apache_id(.*?) for', str(cookies)))  # 8intl_common_forever = "".join(re.findall(r'intl_common_forever(.*?) for', str(cookies)))  # 5xman_f = "".join(re.findall(r'xman_f(.*?) for', str(cookies)))  # 4xman_t = "".join(re.findall(r'xman_t(.*?) for', str(cookies)))  # 2xman_us_f = "".join(re.findall(r'xman_us_f(.*?) for', str(cookies)))  # 6JSESSIONID = "".join(re.findall(r'JSESSIONID(.*?) for', str(cookies)))  # 7cookie = 'ali_apache_id{}; acs_usuc_t=x_csrf{}; xman_t{}; cna=Xm07GGWoHQICAcuoBRT/yumY; xlly_s=1; ali_apache_track=; ali_apache_tracktmp=; _ga=GA1.2.483784494.1608608422; _gid=GA1.2.1166178232.1608608422; _m_h5_tk=6cb16d31c474598dcd1e384e6629188d_1608701585009; _m_h5_tk_enc=66889bb7420b1a6111fc780530175b23; aep_usuc_f{}; intl_locale=pt_BR; xman_f{}; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%0932895092229%0932892877417%0933013642928%0932892877417%0933059387980%094001204825476%0933026833048%094001204825476; intl_common_forever{}; xman_us_f{}; JSESSIONID{}; tfstk=cufhBRVgh9JIxtJGhWOCo52GUpwOaheeA_5N_1w4-OQNoP568sfiQxrTwPxdx_H5.; l=eB_t73GIO9wbNRqyBOfwhurza77tHIRfIuPzaNbMiOCPO-Cp5DfPWZ-4FWL9CnhVHsFWR3uKcXmQB3qw2ynVcbYo942h2UBs3dC..; isg=BGhoxoiuo-npJI9uuC1pfUnYOVZ6kcyb7-hMFSKZwuPWfQnnyqGEKul_dBWN7YRz'.format(ali_apache_id, x_csrf, xman_t, aep_usuc_f, xman_f, intl_common_forever, xman_us_f, JSESSIONID),keywords = 'webcam'perma_url = "https://pt.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText={}&ltype=wholesale&SortType=default&page=1".format(keywords)  # 关键词接口for page in range(1, 21):  # 前20页url = re.sub(r"page=\d+", "page=" + str(page), perma_url)self.get_all_data(url, cookie)def get_all_data(self, url, cookie):headers = {'User-Agent': UserAgent().firefox}response = requests.get(url, headers=headers, timeout=60)dataa = "".join(re.findall(r'window.runParams = (.*?)}]};', str(response.text))) + "}]}"  # 获取json数据if dataa == "}]}":dataa = "{" + "".join(re.findall(r'window.runParams = {(.*?)};', str(response.text))) + "}"user_dicts = json.loads(dataa)['items']for items in user_dicts:productDetailUrl = "https:" + items.get("productDetailUrl")  # 字符串拼接imageUrl = "https:" + items.get("imageUrl")productId = items.get("productId")ownerMemberId = items.get("store").get("aliMemberId")self.get_detailed(productId, ownerMemberId, productDetailUrl, imageUrl, cookie)def get_detailed(self, productId, ownerMemberId, productDetailUrl, imageUrl, cookie):cookie = str(cookie).replace("('", "").replace("',)", "")headers = {'cookie': cookie, 'User-Agent': UserAgent().Chrome}response = requests.get(productDetailUrl, headers=headers, timeout=60)dataa = "".join(re.findall(r'data: (.*)}},', str(response.text))) + '}}'title = json.loads(dataa)['titleModule'].get('subject')tradeCount = json.loads(dataa)['titleModule'].get('tradeCount')starRating = json.loads(dataa)['titleModule'].get('feedbackRating').get('averageStar')openTime = json.loads(dataa)['storeModule'].get('openTime')price = json.loads(dataa)['priceModule'].get('formatedActivityPrice')if price is None:price = json.loads(dataa)['priceModule'].get('formatedPrice')productDetailUrl = re.sub(r"html?(.*)", "", productDetailUrl) + "html"years = "".join(re.findall(r", (\d+)", openTime))openTime = openTime.replace("Jan ", "01").replace("Feb ", "02").replace("Mar ", "03").replace("Apr ", "04") \.replace("May ", "05").replace("Jun ", "06").replace("Jul ", "07").replace("Aug ", "08") \.replace("Sep ", "09").replace("Oct ", "10").replace("Nov ", "11").replace("Dec ", "12") \.replace(", ", "").replace(years, "")openTime = years + openTimed1 = datetime.strptime(file_name, '%Y%m%d')d2 = datetime.strptime(openTime, '%Y%m%d')delta = (d1 - d2).daysif delta < 730:url = "https://feedback.aliexpress.com/display/productEvaluation.htm?v=2&productId={}&ownerMemberId={}&memberType=seller&startValidDate=&i18n=true".format(productId, ownerMemberId)print(productDetailUrl)response = requests.get(url, headers=headers, timeout=60).textsoup = etree.HTML(response)comments = "".join(soup.xpath('//span[@class="fb-star-selector"]//em//text()'))if comments != "":headers = {'Cookie': 'ali_apache_id=11.134.216.25.1608873600753.215555.6; acs_usuc_t=x_csrf=13uzwzhu51z73&acs_rt=af675e16aefe4db2b6534a3b61d484d3; intl_locale=pt_BR; xman_t=C9ECiQ9quS524bp7fbPLtgIPbNsg/M1+F40u+aVgru+iLuGw6v0VKHTjHOXmR0WR; cna=oYZQGOffZ0kCAbcLJgUlVOBF; ali_apache_track=; ali_apache_tracktmp=; _ga=GA1.2.1856276488.1608873603; aep_usuc_f=site=bra&c_tp=BRL&region=BR&b_locale=pt_BR; xman_f=GtGjF88jxOgkI8RA5QNzZU5BFj492kprczcCL6xibHR5enlSmWUMNcgUT3K+05IiMqFG4KX5wPjRT7kPRJ9RnKqKhqZWTwQYxRQXrcHb2/6TcZW6lqOPgg==; _m_h5_c=ebd64953fcaed77d5b16d863739ffd80_1610509104274%3B8c960303c49a1df1e0f0061a1368f8b8; _m_h5_tk=ec7650e9debcdd193a671225c65f90d2_1610941776057; _m_h5_tk_enc=879b9775882d223f209cba62f5fe7e8d; xlly_s=1; _gid=GA1.2.1055555956.1610934119; _gat=1; intl_common_forever=4SaCN83L2210K0Xnii309X91XA/Xycpn2KJdVdYOEtpDtRA1hoOgng==; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%094001025844089%0932783608340%091005001614833526%091005001436445641%091005001686102250%0932255881055%091005001686102250%0932255881055; xman_us_f=x_locale=pt_BR&x_l=0&x_c_chg=0&x_as_i=%7B%22cookieCacheEffectTime%22%3A1610932361184%2C%22isCookieCache%22%3A%22Y%22%2C%22ms%22%3A%220%22%7D&acs_rt=af675e16aefe4db2b6534a3b61d484d3; JSESSIONID=37C800047FE1B28110966641E468F619; l=eBx_t_v4O5cQphuaBO5CFurza77T0IRb8sPzaNbMiInca6N19eergNCIwnYWWdtjgtfxbetzLAUwVRK8X3UK0iGkrX3uKgLRJxJ6-; isg=BI-P0zFfM4KKQAif50_jIn2OHiOZtOPWXk6-GKGcsP4FcK5yqYRoJ5imcqBOCLtO; tfstk=cLYRBwZBKxDlfAfv_3n0dTXP4BGcZ_Hdh763JfxcvwbmhNzdiWLMWhYtV6wRkjC..','User-Agent': (UserAgent()).random}data = {"ownerMemberId": ownerMemberId,"memberType": "seller","productId": productId,"evaStarFilterValue": "all Stars","evaSortValue": "sortdefault@feedback","page": 1,"i18n": "true","withPictures": "false","withPersonalInfo": "false","withAdditionalFeedback": "false","onlyFromMyCountry": "true","isOpened": "true","translate": "Y ","jumpToTop": "false","v": "2"}response = s.post(self.url, headers=headers, timeout=60, data=data).texttime.sleep(0.3)soup = etree.HTML(response)page = int(soup.xpath('//*[@id="transction-feedback"]/div[3]/div[1]/span/em//text()')[0])self.save_date(title, price, productId, starRating, openTime, delta, page, comments, tradeCount, productDetailUrl, imageUrl)def save_date(self, title, price, productId, starRating, openTime, delta, page, comments, tradeCount,productDetailUrl, imageUrl):list_data = [title, price, productId, starRating, openTime, delta, page, comments, tradeCount, "",productDetailUrl]name = ["标题", "价格", "商品ID", "评分", "上架时间", "相差多少天", "巴西评论数", "总评论数", "总销量", "图片", "商品链接"]values = "摄像头"# 写入excel表格里try:wb = openpyxl.load_workbook(file_path + values + ".xlsx")except Exception as e:wb = openpyxl.Workbook(file_path + values + ".xlsx")try:ws = wb[file_name]ws.append(list_data)wb.save(file_path + values + ".xlsx")except Exception as e:wb.create_sheet(title=file_name)ws = wb[file_name]ws.append(name)ws.append(list_data)wb.save(file_path + values + ".xlsx")self.excel_key += 1try:wb = openpyxl.load_workbook(file_path + values + ".xlsx")except Exception as e:wb = openpyxl.Workbook(file_path + values + ".xlsx")headers = {'referer': productDetailUrl, 'User-Agent': (UserAgent()).random}try:res = requests.get(imageUrl, headers=headers, timeout=30)file = md5(imageUrl.encode()).hexdigest()with open(file_path + file + ".jpg", 'wb') as f:for data in res.iter_content(64):f.write(data)time.sleep(0.5)sh = wb[file_name]sh.column_dimensions["J"].width = 20sh.row_dimensions[self.excel_key - 1].height = 80img = Image(file_path + file + ".jpg")img.width, img.height = 100, 80sh.add_image(img, "J" + str(self.excel_key - 1))wb.save(file_path + values + ".xlsx")print("保存成功")path_img = os.path.join(file_path + file + ".jpg")os.remove(path_img)except Exception as e:print("图片报错", e)def run(self):self.get_all_url()if __name__ == '__main__':bd = SMT()bd.run()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/65752.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lazada 平台:产品详情描述页面的正确编辑方法是什么?

产品详情页面是Lazada店铺展示产品的其中一部分&#xff0c;早已愈来愈遭受卖家的着重点&#xff0c;不论是提升转换率&#xff0c;或是提高全部店面的访问量&#xff0c;产品详情页面都能具有非常大的促进作用。 一开始要确立详情页面是要向消费者介绍产品特点&#xff0c;展示…

购物商城实现点击商品列表某商品,进入其详情页!

一、实现思路 1.如何实现列表页面商品点击进入详情页面。 首先我们需要把这个商品的id带给他。 methods: {gotolink(id) {this.$router.push({path: /Detailed/,query: {id: Number.prototype.toString.call(id)}});}} 在商品详情页拼接一下 created() {let _that this;th…

如何生成api接口获取宝贝商品详情,商品详情接口,产品详情

API (Application Programming Interface)是指应用程序接口&#xff0c;它是一种通过编写一组统一的规则&#xff0c;开发一个软件来与其他应用程序进行通讯的技术。API可以方便应用程序之间的交流和数据共享&#xff0c;以及增强应用程序的功能。 在现代应用程序中&#xff0…

lazada商品详情采集接口 商品列表接口 商品数据获取 测试实例分享

Lazada&#xff08;来赞达&#xff09;&#xff0c;东南亚地区最大的在线购物网站之一。获得德国创业孵化器RocketInternet桑威尔兄弟(SamwerBrothers)支持&#xff0c;Lazada的目标主要是印尼、马来西亚、菲律宾以及泰国用户。 item_get-获得lazada商品详情 这次尝试通过API…

新版开运网运势测算网站源码 支持微信/支付宝H5支付 支持分销代理 可封装APP

源码介绍 我在外面花钱购买的某站VIP资源&#xff0c;就是那种搬砖站&#xff0c;买来没时间调试发给大家看看吧&#xff0c;喜欢的就下去玩玩&#xff01; 支持微信/支付宝H5和电脑端扫码支付、手机端可以调起微信/支付宝应用支付 支持后台设置价格、后台设置支付接口信息 支持…

爬取星座运势数据并进行词频分析

试着自己做了下爬虫&#xff0c;从星座屋网站爬取十二星座30天的运势数据。 import requests from bs4 import BeautifulSoup import pandas as pd#获取12星座的网址 urllhttp://www.xzw.com rrequests.get(urlhttp://www.xzw.com/fortune/aries/) soupBeautifulSoup(r.text,l…

今天应该去买彩票的~

刚刚CSDN Blog登录&#xff0c;验证码居然是88888&#xff0c;特开一帖&#xff0c;以作纪念&#xff5e;

体彩 超级大乐透(C++) 测测你的中奖概率

随机购买n注彩票&#xff0c;或者手动输入彩票数字&#xff0c;看看你的幸运值如何&#xff1f; 对体彩超级大乐透的前区5个数字和后区2个数字进行区分&#xff0c;前区&#xff08;1-35&#xff09;&#xff0c;后区&#xff08;1-12&#xff09;&#xff0c;避免错误输入&…

彩票中奖率的真相:用 JavaScript 看透彩票背后的随机算法

原本这篇文章是打算叫「假如我是彩票系统开发者」&#xff0c;但细想一下&#xff0c;如果在文章中引用太多的 JavaScript 的话&#xff0c;反而不是那么纯粹&#xff0c;毕竟也只是我的一厢情愿&#xff0c;彩票开发也不全如本文所讲&#xff0c;有所误导的话便也是得不偿失了…

彩票中奖概率计算过程

周六周末无聊&#xff0c;想着买彩票&#xff0c;万一中奖了就不用上班啦&#xff0c;哈哈。所以就计算了一下中奖概率。 中奖规则&#xff1a; 一等奖&#xff1a;投注号码与当期开奖号码全部相同&#xff08;顺序不限&#xff0c;下同&#xff09;&#xff0c;即中奖&#…

使用 ChatGPT 进行研究的先进技术

在这篇文章中&#xff0c;您将探索改进您研究的先进技术。尤其&#xff0c; 分析和解释研究数据进行文献综述并找出研究差距废话不多说直接开始吧&#xff01;&#xff01;&#xff01; 分析和解释研究数据 一家小企业主希望分析客户满意度数据以改善客户服务。他们使用包含 10…

认真聊聊中断(软中断)

文章目录 软中断与硬中断很像软中断的守护进程注册软中断向量表触发一次软中断总结 前面认认真真聊聊中断&#xff0c;其实讲的都是硬中断&#xff0c;注意是硬中断不是硬件中断哦&#xff0c;硬中断的概念更大。 硬中断包括中断、异常以及 INT 指令这种软件中断&#xff0c;整…

免费织梦wap手机网站模板下载

模板名称&#xff1a; 织梦蓝色通用企业wap手机网站源码 模板介绍&#xff1a; 织梦最新内核开发的手机模板&#xff0c;该模板可以用来做企业手机wap站&#xff0c;及企业微信营销浏览展示&#xff1b; 色调及排版都属通用类型&#xff0c;一般的企业均可以使用该模板做手…

5套独立的app手机端模板界面代码

MobioKit是移动手机端HTML模板,可以很容易创建手机网站布局设计,或者移动App应用。创意设计和神奇的特性将在让你完美的移动项目独一无二的。这个移动端UI工具包包含所有必要的设计&#xff0c;可以创建移动商店,个移动社交应用,移动健康应用,业务相关的移动应用程序等。 5套独…

简洁新颖风格Emlog模板程序源码

正文: 简洁模板程序源码Emlog内核&#xff0c;模板的样子也是非常新颖简洁的&#xff0c;并且完美兼容EMLOG5.3.1程序版本&#xff0c;需配合模板设置插件进行使用。 使用方法&#xff1a; 首先需要安装好EMlog系统和模板设置插件&#xff0c;登录后台直接上传模板应用即可。…

dedecms织梦实现url不变电脑和手机显示不同模板

1、只需要电脑站是伪静态就行了&#xff0c;其他伪静态教程也行&#xff0c;只要电脑站是伪静态就行了 2、打开 /include/extend.func.php 在最下面加入一个方法 /*** 判断是否为移动设备访问* return bool*/ function isMobile() {if (isset($_SERVER[HTTP_X_WAP_PROFILE])) …

最新娱乐网纯净无后门emlog模板源码带手机版,会员中心

介绍&#xff1a; 该模板是之前芒果娱乐网自用源码&#xff0c;无毒无后门&#xff0c;放心使用&#xff01; 带手机版&#xff0c;会员中心&#xff01; 安装方法 1.将源码上传好&#xff0c;导入数据库&#xff0c; 2.找到config.php文件&#xff0c;将数据库配置改成你自己…

织梦制作单页面模板的2种方法

在用dedecms织梦程序制作企业模板时需要用到公司介绍、联系我们、关于我们等相关单页面&#xff0c;可织梦dedecms不像wordpress或其它程序单独提供有页面功能&#xff0c;可以直接新建页面。不过织梦dedecms提供了栏目内容的调用功能&#xff0c;可以让织梦站长通过创建栏目实…

给大家分享下织梦网站模板

最近需要用到一个官网模板&#xff0c;作为一个后台程序员来说写前端和专业的差了远了&#xff0c;所以想找个模板学习下&#xff0c;可是我这面是一顿搜一顿找找了好多都快绝望了因为都不是免费下载的不过最终还是找到了&#xff0c;在这里分享给大家 模板一 红色大气响应式重…

织梦dedecms资源素材教程下载网站模板源码(带手机移动端)附安装教程

织梦dedecms资源素材教程下载网站模板(带手机移动端) 1.把文件上传到你的站点的根目录&#xff0c;然后运行 http://你的域名/install/index.php 安装&#xff0c;根据提示填写好相关信息&#xff0c;点“下一步”...即可完成安装。(注&#xff1a;若提示无法安装&#xff0c;…