- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
BeautifulSoup的CSS选择器大数据采集技术与应用
1.运用BeautifulSoup库中的CSS选择器功能进行数据定位。
BeautifulSoup的CSS选择器CSS选择器是一种用来定位HTML文档中特定元素的模式(Pattern)。HTML文档是一个复杂的结构,就像一座城市,里面有各种建筑(标签)。CSS选择器就是详细的地址,可以让你准确地找到“市中心广场(ID为?main-square)旁边那栋红色屋顶(class为?red-roof)的办公楼(div?标签)里的所有窗户(span?标签)”。在BeautifulSoup中,我们使用?.select()?这个方法来执行CSS选择器。这个方法的功能与?find_all()?类似,但语法完全遵循CSS标准。关键特点:语法简洁:?对于复杂的层级关系查找,语法比?find_all()?连续调用要短得多。功能强大:?支持绝大多数现代CSS选择器语法,可以实现非常精确的元素定位。返回类型:?.select()?方法总是返回一个列表(ResultSet),即使只找到一个元素或没有找到任何元素(返回空列表)。这一点与返回单个对象的?.find()?不同。
BeautifulSoup的CSS选择器要素语法示例描述标签选择器tagsoup.select(p)选择所有?p?标签。类选择器.classnamesoup.select(.content)选择所有?class?属性包含?content?的标签。ID选择器#idnamesoup.select(#main-title)选择?id?属性为?main-title?的标签(ID在HTML中应唯一)。属性选择器[attribute]soup.select([href])选择所有带有?href?属性的标签。[attr=value]soup.select(a[target=_blank])选择?target?属性值正好是?_blank?的?a?标签。[attr*=value]soup.select(a[href*=])选择?href?属性值包含??字符串的a标签。后代组合器AB?(空格)soup.select(divp)选择?div?标签内部的所有?p?标签。子代组合器ABsoup.select(ulli)选择?ul?标签的直接子级?li?标签。
BeautifulSoup的CSS选择器选取新浪首页导航栏的部分结构作为例子。
BeautifulSoup的CSS选择器获取所有导航链接(标签+类组合)需求:获取ul列表中的所有a链接。思路:先定位到列表,再找里面的a标签。使用后代组合器。links=soup.select(.nav-channel-lista)forlinkinlinks:print(f文本:{link.get_text()},链接:{link[href]})输出:文本:新闻,链接:/文本:首页,链接:/文本:军事,链接:/文本:财经,链接:/文本:体育,链接:/文本:娱乐,链接:/文本:科技,链接:/文本:汽车,链接:/
BeautifulSoup的CSS选择器获取所有要在新窗口打开的链接(属性选择器)需求:找到所有`target`属性为`_blank`的链接。思路:使用属性选择器`[attribute=value]`。#查找所有target=_blank的a标签
blank_links=bs.select(a[target=_blank])
forlinkinblank_links:
print(link)输出:ahref=/target=_blank新闻/aahref=/target=_blank首页/aahref=/target=_blank军事/aahref=/target=_blank财经/aahref=/target=_blank体育/aahref=/target=_blank娱乐/aahref=/target=_blank科技/aahref=“/”target=“_blank”汽车/a
BeautifulSoup的CSS选择器获取特殊的列表项(多类选择器)需求:?找到那个特殊的、同时拥有?nav-channel-item?和?special-item?两个类的?li?标签。
思路:?在CSS中,连续的?.class?名称表示“和”的关系。#.nav-channel-item.special-item表示class属性中必须同时包含这两个类名special_item=soup.s
您可能关注的文档
最近下载
- NGSOK门机随机文件.doc VIP
- (正式版)DB15∕T 2843.3-2022 《边境口岸鼠疫检测实验室管理规范 第3部分:鼠疫核酸检测实验室》.docx VIP
- 氨基硅烷偶联剂对环氧涂层附着力的影响-附着力促进剂.PDF
- 安徽省 2021 年普通高等学校专升本招生考试《大学语文》冲刺期测试题.docx VIP
- NBT 10217-2019风力发电场生产准备导则.pdf VIP
- 企业主要负责人从十个方面开展座谈.pdf VIP
- 1.新版人教版小学四年级语文上册总复习高频考点题库及典型例题(附讲解).pdf
- 操作系统复习(填空题) .pdf VIP
- 2025学年上海市普陀区九年级语文12月阶段练习卷含答案.pdf VIP
- 安徽省 2021 年普通高等学校专升本招生考试《大学英语》冲刺期测试题 (1).docx VIP
原创力文档


文档评论(0)