点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
春潮带雨晚来急,野渡无人舟自横。
大家好,我是Python进阶者。前几天在Python交流群里边有个叫【Arkham】的粉丝问了一个小问题。
一开始还是觉得挺奇怪的,瞅着这个格式十分像是json格式,直接用json提取不香么,但是后来发现就是这么个格式,而且硬是要提取这个里边的文本信息。
一般的,针对文本提取,正则表达式是首选,十分是方便快捷。
这里给出了两个方法,感谢【🌑(这是月亮的背面)】和【数据分析新手-瑜亮】两位大佬提供的思路。
Top2 26
Top2 "word":"经纪人不得为假唱假演奏提供条件"
Top2 "query":"经纪人不得为假唱假演奏提供条件"
Top2 "show":[]
Top2 "desc":"18日,文旅部发布关于《演出经纪人员管理办法(征求意见稿)》公开征求意见的公告。征求意见稿指出,演出经纪人员不得为演员假唱、假演奏提供条件。"
Top2 "img":"//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"=%E7%BB%8F%E7%BA%AA90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
这个方法十分奏效,代码如下。
# -*- coding: utf-8 -*-
import re
text = """
Top2 26
Top2 "word":"经纪人不得为假唱假演奏提供条件"
Top2 "query":"经纪人不得为假唱假演奏提供条件"
Top2 "show":[]
Top2 "desc":"18日,文旅部发布关于《演出经纪人员管理办法(征求意见稿)》公开征求意见的公告。征求意见稿指出,演出经纪人员不得为演员假唱、假演奏提供条件。"
Top2 "img":"//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E40%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
"""
regex = re.findall(r'":"(.*?)"', text)
for data in regex:print(data)
这个方法是来自【🌑(这是月亮的背面)】大佬的思路,后来我自己写了小代码如下。
# -*- coding: utf-8 -*-
import re
text = """
Top2 26
Top2 "word":"经纪人不得为假唱假演奏提供条件"
Top2 "query":"经纪人不得为假唱假演奏提供条件"
Top2 "show":[]
Top2 "desc":"18日,文旅部发布关于《演出经纪人员管理办法(征求意见稿)》公开征求意见的公告。征求意见稿指出,演出经纪人员不得为演员假唱、假演奏提供条件。"
Top2 "img":"//5b4bc1de60744e69f34225af1452a395"
Top2 "url":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv_dl=fyb_news"
Top2 "rawUrl":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E4%B8%8D%E5%BE%97%E4%B8%BA%E5%81%87%E5%94%B1%E5%81%87%E6%BC%94%E5%A5%8F%E6%8F%90%E4%BE%9B%E6%9D%A1%E4%BB%B6"
Top2 "hotScore":"2325661"
Top2 "hotChange":"same"
Top2 "hotTag":"0"
Top2 "appUrl":"=%E7%BB%8F%E7%BA%AA%E4%BA%BA%E40%E4%BE%9B%E6%9D%A1%E4%BB%B6&rsv"
"""
raw_text = text.strip('n').split('Top2 ')
for text in raw_text:print(text.split('":"')[-1].replace('"', ''))
处理起来还是相对费劲的,而且不那么智能,针对文本定制的,比较“死板”,虽然勉强可以实现,可是还是不太建议。
本文从实际工作出发,基于Python编程,针对网络爬虫过程中得到的字符串,使用正则表达式和字符串处理函数split(),完成了字符串的处理,满足粉丝的要求。如果你有其他的方法,也欢迎尝试,记得分享给我噢!
最后感谢粉丝【Arkham】的提问,感谢【🌑(这是月亮的背面)】、【数据分析新手-瑜亮】等大佬在代码实现过程中提供的思路、代码、建议和指导,感谢粉丝【冫马讠成】、【多隆ᯤ⁶ᴳ】、【AA】等人的参与探讨学习,让我们共同进步!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
补充篇:盘点6种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
手把手教你使用Python网络爬虫实现邮件定时发送(附源码)
分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~
本文发布于:2024-01-28 16:00:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064288488576.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |