c语言sscanf函数的用法是什么
234
2022-09-22
爬虫(四)信息提取
0.信息标记的三种形式
标记后的信息可用于通信、存储或展示,标记的结构与信息一样具有重要价值。
(1)XML(eXtensible Markup Language)
(2)JSON(JavaScript Object Notation)
JSON可以作为JavaScript程序的一部分。
有类型的键值对 key:value 如"name":["浙江大学","北京大学"],即对应多个值。
(3)YAML(YAML Ain't Markup Language)
无类型的键值对 key:value
用减号对齐表示并列信息,#号表示注释,无类型(不加双引号)。
1.三种信息标记形式的比较
2.信息标记的一般方法:
(一)方法一:完整解析信息的标记形式,再提取关键信息,需要标记解析器,例:bs4库的标签树遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢
(二)方法二:无视标记形式,直接搜索关键信息,对信息的文本调用查找函数即可。
优点:提取过程间接,速度较快
缺点:提取结果准确性与信息内容相关
融合方法:结合形式解析与搜索方法,提取关键信息,需要标记解析器及文本查找函数。
下面提取HTML中所有URL连接
思路:1)搜索到所有标签
>>> from bs4 import BeautifulSoup>>> soup=BeautifulSoup(demo,"html.parser")>>> for link in soup.find_all('a'): print(link.get('href'))soup.find_all('a')[Basic Python, Advanced Python]>>> soup.find_all(['a','b'])[The demo python introduces several python courses., Basic Python, Advanced Python]>>> for tag in soup.find_all(True): print(tag.name)htmlheadtitlebodypbpaa>>> import re>>> for tag in soup.find_all(re.compile('b')): print(tag.name)bodyb>>> soup.find_all('p','courser')[]>>> soup.find_all('p','course')[
Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:Basic Python and Advanced Python.
]>>> soup.find_all(id='link1')[Basic Python]>>> soup.find_all(id='link')[]>>> import re>>> soup.find_all(id=re.compile('link'))[Basic Python, Advanced Python]>>> soup.find_all('a')[Basic Python, Advanced Python]>>> soup.find_all('a',recursive=False)[]>>> soupThe demo python introduces several python courses.
Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:Basic Python and Advanced Python.
>>> soup.find_all(string="Basic Python")['Basic Python']>>> import re>>> soup.find_all(string=re.compile("Python"))['Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:\r\n', 'Basic Python', 'Advanced Python']简写形式:
扩展方法:
4.单元小结
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~