如何使用Python一步完成动态数据的爬取
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,今天就跟大家聊聊有关如何使用Python一步完成动态数据的爬取,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言最近又到了写毕业论文的季节了,
千家信息网最后更新 2025年02月08日如何使用Python一步完成动态数据的爬取
今天就跟大家聊聊有关如何使用Python一步完成动态数据的爬取,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
前言
最近又到了写毕业论文的季节了,有好多粉丝朋友私信我说老哥能不能帮我爬点数据让我来写论文,这时正好有位小女生正在打算买只小喵咪,于是老哥在全网搜索于是发现了下面的网站只好动动自己的小手,来完成这个艰巨的任务了,有喜欢爬虫的同学,或有需要爬取数据的同学可以私聊老哥。
页面分析
我们通过访问一下地址 :http://www.maomijiaoyi.com/index.php?/chanpinliebiao_pinzhong_38.html
这时我们可以看到一些喵咪的列表,但是通过F12观看实际是返回的一个页面,而不是我们常用的Json,此时我们还需要将返回的页面打开才能获取到具体喵咪的详细信息,例如:价格、电话、年龄、品种、浏览次数等等。
这时我们需要做的
解析返回的列表
将地区数据解析出来
请求喵咪的具体信息
解析返回的页面
将数据保存csv文件
CSV 文件
启动程序将会保存一下内容:
代码实现
1、导入依赖环境
`import requests # 返送请求 pip install requests` `import parsel # html页面解析器 pip install parsel` `import csv # 文本保存`
2、获取喵咪的列表
`url = "http://www.maomijiaoyi.com/index.php?/chanpinliebiao_pinzhong_37_"+str(i)+"--24.html"` `headers = {` `'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36'` `}` `data = requests.get(url=url, headers=headers).text` `selector = parsel.Selector(data)` `urls = selector.css('div .content:nth-child(1) a::attr(href)').getall()`
3、根据去获取喵咪的具体数据
`for s in regionAndURL:` `url = "http://www.maomijiaoyi.com" + s[0]` `address = s[1]` `data = requests.get(url=url, headers=headers).text` `selector = parsel.Selector(data)` `title = selector.css('.detail_text .title::text').get().strip() ## 标签` `price = selector.css('.info1 span:nth-child(2)::text').get().strip() ## 价格` `viewsNum = selector.css('.info1 span:nth-child(4)::text ').get() ## 浏览次数` `commitment = selector.css('.info1 div:nth-child(2) span::text ').get().replace("卖家承诺: ", "") # 卖家承诺` `onlineOnly = selector.css('.info2 div:nth-child(1) .red::text ').get() # 在售只数` `variety = selector.css('.info2 div:nth-child(3) .red::text ').get() # 品种` `prevention = selector.css('.info2 div:nth-child(4) .red::text ').get() # 预防` `contactPerson = selector.css('.user_info div:nth-child(1) .c333::text ').get() # 联系人姓名` `phone = selector.css('.user_info div:nth-child(2) .c333::text ').get() ## 电话` `shipping = selector.css('.user_info div:nth-child(3) .c333::text ').get().strip() # 运费` `purebred = selector.css('.item_neirong div:nth-child(1) .c333::text').get().strip() # 是否纯种` `quantityForSale = selector.css('.item_neirong div:nth-child(3) .c333::text').get().strip() # 待售数量` `catSex = selector.css('.item_neirong div:nth-child(4) .c333::text').get().strip() # 猫咪性别` `catAge = selector.css('div.xinxi_neirong .item:nth-child(2) div:nth-child(2) .c333::text').get().strip() # 猫咪年龄` `dewormingSituation = selector.css(` `'div.xinxi_neirong .item:nth-child(2) div:nth-child(3) .c333::text').get().strip() # 驱虫情况` `canWatchCatsInVideo = selector.css(` `'div.xinxi_neirong .item:nth-child(2) div:nth-child(4) .c333::text').get().strip() # 可视频看猫咪`
4、将数据保存为csv文件
`f = open('喵咪.csv', mode='a', encoding='utf-8', newline='')``csvHeader = csv.DictWriter(f,` `fieldnames=['地区', '标签', '价格', '浏览次数', '卖家承诺', '在售只数', '地区', '品种', '预防', '联系人姓名', '电话',` `'运费', '是否纯种', '待售数量', '猫咪性别', '猫咪年龄', '驱虫情况', '可视频看猫咪', '详情地址'])``#设置头``csvHeader.writeheader()` `dis = {` `'地区': address,` `'标签': title,` `'价格': price,` `'浏览次数': viewsNum,` `'卖家承诺': commitment,` `'在售只数': onlineOnly,` `'品种': variety,` `'预防': prevention,` `'联系人姓名': contactPerson,` `'电话': phone,` `'运费': shipping,` `'是否纯种': purebred,` `'待售数量': quantityForSale,` `'猫咪性别': catSex,` `'猫咪年龄': catAge,` `'驱虫情况': dewormingSituation,` `'可视频看猫咪': canWatchCatsInVideo,` `'详情地址': url` `}` `csvHeader.writerow(dis)`
看完上述内容,你们对如何使用Python一步完成动态数据的爬取有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
猫咪
数据
页面
价格
内容
卖家
品种
地区
年龄
次数
电话
浏览
地址
姓名
性别
情况
数量
文件
标签
纯种
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全类产品名称
一个数据库连接被多个线程使用
会计软件开发的步骤
小学生网络安全的话
广州鼎盛互联网科技有限公司
开发手机版财务软件开发语言
梦幻西游第一梯队服务器
网络安全条例信息传播
服务器进入管理看运行状态
网络安全人人有则
数据库客户端连接服务器
国家网络安全人才与创新基地面积
网络安全信息的三驾马车
网络安全网络道德教育
任丘软件开发招聘
浏览网页服务器拒绝访问
xml与数据库结合
梦幻花园服务器邀请码
网络安全法规定公司可以拘留吗
java多线程导入数据库
到哪学软件开发好
企业员工网络安全意识
服务器神装怎么获得
软件开发需要具备哪些专业
淘宝更换服务器
长宁区营销软件开发供应商
ios数据库工具类
fm2022 数据库开小了
迁安信诚网络技术有限公司
自建数据库方便检索