解决方案:双十一到了,当我用Python采集了电商平台所有商品后发现....
优采云 发布时间: 2022-11-11 18:31解决方案:双十一到了,当我用Python采集了电商平台所有商品后发现....
Python采集电商平台
写在前面
这不是双十一来了。为了以最优惠的价格买到我想买的产品,我毫不犹豫地用Python浏览了所有雅马讯的产品。
环境和模块
使用环境
蟒蛇3.8
pycharm 2021
模块和安装
requests # 数据请求模块 pip install requests
parsel # 解析数据 pip install parsel xpath css
案例实现思路
分析数据源
静态数据:我们可以通过右键查看网页源代码找到
动态数据:找不到内容
不知道怎么区分的时候直接用网络
代码实现步骤
以code的方式发送请求访问上述URL获取数据分析数据从获取的数据中提取我们需要保存的数据代码展示
# 网址我都屏蔽了,以免审核不过..
f = open('yamaxun.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['title', 'score', 'price', 'link', 'img_url'])
# 伪装
headers = {
# 用户身份信息
<p>
'Cookie': 'session-id=461-5432315-2651056; i18n-prefs=CNY; ubid-acbcn=460-4142230-3903418; csm-hit=tb:Y5HFFE1BM9655HPJMQX0+s-A96X9VP6NWER0K4SRXNF|1667650218841&t:1667650218841&adb:adblk_no; session-token="R+xUs8v/1RH9U8xjkIb6UNUS8yc/OinE8juA0eJPnO/+cTnMIPD81zAO3IRfcAEURcQkEbGFXpGLZKjqI0wLpOtgXzqiRwM/e7nxtYSlUxMdLnFkslL1xyWGjL+bvt3pCW3QlUub6KER8qGBe74quFjTvFoxAMKSP5zaM5G4oFCqYppJ1JLFWi7LQv/kN//k/pv*敏*感*词*reZ4rIRU+A9L+83TO3ukoW6z3YkvIkDnaX4E0="; session-id-time=2082787201l',
# 防盗链
'Referer': 'https:///b?node=665002051',
# 浏览器的基本信息
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
for page in range(1, 400):
print(f"---正在采集第{page}页---")
url = f'https:///s?i=communications&rh=n%3A665002051&fs=true&page={page}&qid=1667650286&ref=sr_pg_{page}'
# 1. 发送请求
response = requests.get(url=url, headers=headers)
# 2. 获取数据
html_data = response.text
# 3. 解析数据
select = parsel.Selector(html_data)
divs = select.css('div.s-main-slot.s-result-list.s-search-results.sg-row>div')
# 每个商品的信息
# 二次提取每个商品信息里面的 字段
for div in divs[1: -3]:
# 提取标签属性内容
# ::attr(属性名称)
img_url = div.css('img.s-image::attr(src)').get()
# 提取标签文本内容
# <a>fhuiweaihfwjw</a> ::text
title = div.css('span.a-size-base-plus.a-color-base.a-text-normal::text').get()
score = div.css('span.a-icon-alt::text').get()
price = div.css('span.a-offscreen::text').get()
link = div.css('a.a-link-normal.s-no-outline::attr(href)').get()
print(title, score, price, link, img_url)
# 4. 保存数据
csv_writer.writerow([title, score, price, link, img_url])
</p>
获取完整代码末尾的名片,以及对应的视频讲解。
显示结果
我把它设置为400页,所以我不会显示这么多,很难等待!
最后
兄弟学python,有时候不知道怎么学,从哪里下手。掌握了一些基本的语法或者做了两个案例之后,不知道接下来要做什么,更不知道如何学习更高级的知识。
好吧,为了这些兄弟,我准备了很多免费的视频教程,PDF电子书,还有源代码!
直接从文末名片领取!
教程:可在线运行查看效果的HTML在线编辑器
1、本站所有源代码资源(包括源代码、软件、学习资料等)仅供研究、学习和参考使用,仅供合法使用。请不要将它们用于商业目的或非法使用。如本站不慎侵犯您的版权,请联系我们,我们将及时处理并删除相关内容!
2、访问本站的用户必须明白,本站对提供下载的软件和程序代码不享有任何权利,其著作权属于软件和程序代码的合法所有者。请在下载和使用前仔细阅读。遵守软件作者的《许可协议》,本站仅为学习交流平台。
3.如果下载的压缩包需要解压密码,如无特殊说明,文件的解压密码为:
4、小蚂蚁资源网是一个免费、专业的网站源码、PHP源码、高端模板、游戏源码、网站插件、优质站长资源共享平台教程。
小蚂蚁资源网其他源码可在线运行查看HTML在线编辑器效果