小猫咪能有什么坏心思呢?只是想要你带它回家啦~

article/2025/6/30 21:01:44

前言

嗨喽!大家好,这里是魔王。

养猫是吸猫时代的一种潮流趋势,越来越多的喵星人开始参与了人类的家庭,猫奴们为了满足自己爱猫的狂热,都纷纷 开始抱猫咪回家。猫咪这种生物有谁能拒绝呢? 那么我们今天就来爬一爬猫咪交易网站
在这里插入图片描述

本此目的:Python爬取猫咪交易网数据

本次亮点

  1. parsel解析模块的使用
  2. requests模块的使用
  3. 保存csv

环境介绍:

  • python 3.8

    最新会有bug 版本没有那么稳定, 有一些模块出现不兼容的情况 所以使用python 3.8

  • pycharm

模块使用:

  • csv
  • requests >>> pip install requests
  • parsel >>> pip install parsel (用这个模块会报错) (3.7没有lxml 安装parsel会报错)

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)
在这里插入图片描述

python可以实现操作的东西

  1. 网站开发 (Django/flask/tornado)

    开发一个网站/ 今天爬取的内容 同样也可以用python开发出来的

    豆瓣/美团/youtube python开发

  2. 爬虫程序

    采集网页数据内容 (可见即可爬)

  3. 数据分析

    可视化图表展示/数据处理 清洗等等 量化交易 金融分析 …

    (算法 训练模型 可以达到预测效果>>> 下个月走势)

  4. 人工智能

    算法方面内容 >>> 人脸检测/物体识别 等等

  5. 自动化脚本

    游戏开发/游戏辅助 模拟点击/内存辅助 ce 去找参数变化, 然后用python修改
    在这里插入图片描述

思路

  1. 确定自己爬取的内容是什么东西
  2. 去分析我们爬取数据内容是从哪里来得 (可以爬慢一点/ 你可以破解验证码 自动识别验证码)

代码实现步骤(本网站内容是静态网页):

  1. 发送请求, 对于猫咪列表页发送请求
  2. 获取数据, 获取网页源代码
  3. 解析数据, 提取猫咪详情页url地址 以及 地区
  4. 发送请求, 对于猫咪详情页url地址发送请求
  5. 获取数据, 获取网页源代码
  6. 解析数据, 提取猫咪相关信息
  7. 保存数据, 把数据保存到csv文件
  8. 多页数据采集

导入模块

import requests  # 数据请求模块 第三方模块 pip install requestsimport parsel  # 数据解析模块 第三方模块 pip install parselimport csv  # 内置模块  

在这里插入图片描述

打开一个文件 csv文件 mode 保存方式 a encoding 编码 newline

f = open('猫咪data.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['地区','店名','标题','价格','浏览次数','卖家承诺','在售只数','年龄','品种','预防','联系人','联系方式','异地运费','是否纯种','猫咪性别','驱虫情况','能否视频','详情页',
])
csv_writer.writeheader() # 写入表头

在这里插入图片描述

猫咪的列表页url

for page in range(1, 21):print(f'--------------------正在爬取滴{page}页数据内容--------------------')url = f'http://www.maomijiaoyi.com/index.php?/chanpinliebiao_c_2_{page}--24.html'# headers 请求头, 把python代码进行一个简单伪装 (禁止LB 穿上一个外套)# 巳月老师 比较流氓, 对于没什么反爬网站, 都是LB# 我喜欢穿衣服headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'}# requests 里面 get 请求方式  为什么老师这里需要用get请求方式?response = requests.get(url=url, headers=headers)# 获取网页源代码 response.text 激发学员学习的兴趣# print(response.text) # 取网页源代码 html 字符串数据# 解析数据  不会css 或者xpath 没有关系 (不能经常用)selector = parsel.Selector(response.text)href = selector.css('#content div.breeds_floor div div a::attr(href)').getall()areas = selector.css('#content div.breeds_floor div div a div.price_area div.area span.color_333::text').getall()

在这里插入图片描述

同时提取两个列表里面的元素内容

  for index in zip(href, areas):# 返回的是元祖 >>> 根据索引位置取值 ()# http://www.maomijiaoyi.com/index.php?/chanpinxiangqing_404056.html# 猫咪详情页url地址index_url = 'http://www.maomijiaoyi.com' + index[0]# 字符串 方法去除字符串两端的空格 strip()  在爬取数据的过程中 也要对于数据进行一些简单处理# 方便我们之后做数据分析# css 选择器 这个里面语法还是比较多的, 像VIP课程 这个知识点会讲两个小时(详细)# css选择器 就是根据标签属性提取内容 解析方法: re正则表达式 css选择器 xpath (都要掌握)area = index[1].strip()html_data = requests.get(url=index_url, headers=headers).textselector_1 = parsel.Selector(html_data)title = selector_1.css('.detail_text .title::text').get().strip()shop = selector_1.css('.dinming::text').get().strip()  # 店名price = selector_1.css('.info1 div:nth-child(1) span.red.size_24::text').get()  # 价格views = selector_1.css('.info1 div:nth-child(1) span:nth-child(4)::text').get()  # 浏览次数# replace() 替换promise = selector_1.css('.info1 div:nth-child(2) span::text').get().replace('卖家承诺: ', '')  # 浏览次数num = selector_1.css('.info2 div:nth-child(1) div.red::text').get()  # 在售只数age = selector_1.css('.info2 div:nth-child(2) div.red::text').get()  # 年龄kind = selector_1.css('.info2 div:nth-child(3) div.red::text').get()  # 品种prevention = selector_1.css('.info2 div:nth-child(4) div.red::text').get()  # 预防person = selector_1.css('div.detail_text .user_info div:nth-child(1) .c333::text').get()  # 联系人phone = selector_1.css('div.detail_text .user_info div:nth-child(2) .c333::text').get()  # 联系方式postage = selector_1.css('div.detail_text .user_info div:nth-child(3) .c333::text').get().strip()  # 包邮purebred = selector_1.css('.xinxi_neirong div:nth-child(1) .item_neirong div:nth-child(1) .c333::text').get().strip()  # 是否纯种sex = selector_1.css('.xinxi_neirong div:nth-child(1) .item_neirong div:nth-child(4) .c333::text').get().strip()  # 猫咪性别video = selector_1.css('.xinxi_neirong div:nth-child(2) .item_neirong div:nth-child(4) .c333::text').get().strip()  # 能否视频worming = selector_1.css('.xinxi_neirong div:nth-child(2) .item_neirong div:nth-child(2) .c333::text').get().strip()  # 是否驱虫dit = {'地区': area,'店名': shop,'标题': title,'价格': price,'浏览次数': views,'卖家承诺': promise,'在售只数': num,'年龄': age,'品种': kind,'预防': prevention,'联系人': person,'联系方式': phone,'异地运费': postage,'是否纯种': purebred,'猫咪性别': sex,'驱虫情况': worming,'能否视频': video,'详情页': index_url,}csv_writer.writerow(dit)print(title, area, shop, price, views, promise, num, age,kind, prevention, person, phone, postage, purebred, sex, video, worming, index_url, sep=' | ')

在这里插入图片描述
在这里插入图片描述
好了,我的这篇文章写到这里就结束啦!

希望你在python这条路上依心而行,别回头,别四顾。一如既往不改初见的模样,未来的路很长,不管怎样,一定要相信自己一直走下去。

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง


http://chatgpt.dhexx.cn/article/15iYDinv.shtml

相关文章

女友生日,她最喜欢猫。这款猫咪日历最适合做她的生日礼物。

前言 我看网上女友过生日都是送她的手织包包,各种手工艺品,我的女朋友她最喜欢的是猫,家里也养了一只,所以你们是手工艺品,那我就来一款猫咪2022的日历送她吧,每天打开电脑都能看到最喜欢的猫咪和知道今天是…

TYVJ1423 GF和猫咪的玩具

Description: GF同学和猫咪得到了一个特别的玩具,这个玩具由n个金属环(编号为1---n),和m条绳索组成,每条绳索连接两个不同的金属环,并且长度相同。GF左手拿起金属环L,猫咪右手(或者说…

谁说技术男不浪漫!90 后程序员 2 天做出猫咪情绪识别软件

整理 | 王晓曼 出品 | CSDN(ID:CSDNnews) 9月1日,一则关于#程序员2天做出猫咪情绪识别软件#的话题登上微博热搜,参与阅读的人数达到了8218.1万,讨论次数1.3万,引发网友们的热议。 高手在民间…

喵呜

小老鼠是如何升级成猫咪了。 the third week begin! 下次!!之前喵呜喵呜,哈。睡觉了有点困了。

TI的CCS集成开发环境的 快捷键设置 自定义的快捷键 实现编译下载功能 CCS9.xxx

今天给大家分享一下CCS的快捷键设置 ,初用CCS 各种快捷键用着很不适应(以前是用keil5.23 的 ),所以我就尝试着更改一下CCS的快捷键。(一般工具类软件都会开放快捷键修改的接口, keil 也有 所以我就尝试了…

ccs工程移植后的路径修改

从别人的电脑中将ccs文件拷贝过来后,编译会出现报错,如下所示: 这种情况下需要对路径进行修改,步骤如下: 1.右键项目名,打开属性; 2.找到C2000 Complier 》Include Options ,删除下…

CCS7.0从安装到使用

本人第一次使用CCS,安装完成后因为不知道需要安装库文件,造成当打开工程时出现找不到头文件的错误。经过别人指导以及网络查找解决问题,在此记录一下,也希望给初学者带来帮助,少走弯路。 1、软件下载 安装CCS需要安装…

CCS10,安装SDK后,软件无法识别问题

原因: CCS10默认的安装目录是C盘的\ti或是D:\ti\ccs1011中,如果安装到D盘,会查不到的 手动添加SDK目录

CC2640R2学习笔记—CCS环境最简单配置、下载运行第一个程序(OLED)

CC2640R2学习笔记—CCS环境最简单配置、下载运行第一个程序(OLED) Ti 官网下载CCS安装 CCS导入官方CCS工程编译工程驱动OLED屏; 开发板 :CC2640R2 LaunchPad ; Ti 官网下载CCS CCS10.3.1.00003 下载地址 [https://dow…

【CCS】Windows环境Code Composer Studio 下载和使用教程

Code Composer Studio下载 1、TI官网下载地址:link 2、百度网盘下载地址:link 提取码:5c7v 一、CCS官网下载 TI官方提供了免费的Code Composer Studio 集成开发软件下载供广大使用者学习开发 1、首先点击笔者上述提供的官方下载链接进入下载…

MSP432P401R学习:CCS入门实验练习,使用CCS新建、导入、编译、下载工程

CCS入门实验 在某磁盘根目录以学号创建CCS工作目录,完成下述实验,并记录步骤: 实验一:从示例工程中导入下面2个工程,将每个工程完成编译 driverlib\gpio_toggle_otpt、driverlib\gpio_inpt_interrpt(包含于…

CCS中下载程序到FALSH与RAM类型切换

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言操作步骤及说明总结 前言 从CCS5到CCS12跳转,好多功能做了改变,在TI官网下载了最新的CCS12,下载了最新的C2000,…

CCS 下载程序时报错的解决办法( TI C2000 TMS320F28379D)

所报错误: An internal error occurred during: "Launching J9_LED_text". com/ti/dvt/energytrace/af/PowerActivity 中文翻译: 在“启动j9ledtext工程”期间发生了一个内部错误。 编译过程也没有报任何错误,自己找错误原因找了…

MSP432的CCS工程配置以及使用J-Link下载程序

目录 一、CCS软件安装 1、下载CCS安装包​ 2、开始安装 3、安装选择 4、选择开发芯片​ 5、 安装J-link调试器​ 二、配置工程 1、新建工作区间 2、打开工作区间 3、新建工程 4、新建文件夹 5、导入driverlib库 6、 配置工程头文件 7、编译下载 三、MSP432模板工…

TI CC3200 launchpad 使用 CCS 下载

开发环境要求 : 1.CCS :6.0版本及以上(免费软件) 去TI官网下载新一点的安装即可 (安装时安装包的路径及安装路径均不能有中文) 2.IAR :6.7版本及以上 (这里以CCS为例IAR不做介绍&a…

CCS 6.0 下载

每次到TI下载软件都得等几天,才发一封回复邮件,里面有下载地址。真的好烦。 今天想下载CCS 6.1 或CCS 6.0网上没找到下载地址,找了半天 http://processors.wiki.ti.com/index.php/Download_CCS 在此页面,点进去下载,…

ccs下载程序时遇到的错误,debugger initialization error 个人解决办法

本人使用的软件就是从IT官网上下载的最新版ccs软件,当前版本12.3 在使用离线安装包下载后无论如何调整软件版本都不能避免出现如图问题 最后发现问题是由于把文件下载地址放在桌面上了(软件确实在d盘直接放着,但打开ccs时让你选择文件放置位…

CCS7.2的下载、安装及打开CCS3.3工程文件

1、 TI CCS 集成开发环境现在已经完全免费了 CCSv7 已经不需要使用 License了。 如果使用的是 CCSv4 、CCSv5以及 CCSv6 请从 TI 官方网站下载免费的全功能 License。 2、 系统需求 CCSv4/CCSv5/CCSv6[6.1.3 之前版本] 不论是 Windows 系统还是 Linux 都只有32位版本&#x…

CCS(Code Composer Studio) 的下载、安装和导入工程

1.下载 网址 https://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html#Download_the_latest_CCS 自行选择版本 2.安装(这里就是小编的泪点了) 点开exe文件 点击next 同意后next 注意,下一步理想情况下是这样,这里是在…