爬虫-属性选择器

soup = BeautifulSoup(html,'lxml')

获取页面中id值为list-1的数据,返回列表

attrs:

在爬虫编程中,attrs 这个词的具体含义可能会根据你所使用的库或框架而有所不同,但通常它指的是在解析HTML或XML文档时,用于指定你想要提取或关注的元素(如标签)的特定属性(attributes)。这些属性可以是类名(class)、ID、样式(style)、数据属性(data-*)等,具体取决于你想要从页面中抓取的信息。

以Python中常用的几个爬虫库为例:

Beautiful Soup:虽然Beautiful Soup本身不直接使用attrs作为参数名,但它在查找元素时允许你通过属性来过滤元素。例如,你可以使用.find_all()方法并传入一个字典来指定你想要匹配的属性及其值。这里的字典实际上扮演了attrs的角色,因为它包含了你要查找的元素的属性。

 lxml:在使用lxml库时,你也可以通过属性来查找元素,但具体语法可能略有不同。lxml提供了XPath和CSS选择器等多种方式来定位元素,其中CSS选择器允许你通过属性来过滤元素。

Scrapy:在Scrapy框架中,Item Loader的概念允许你通过ItemLoaderadd_xpath()add_css()等方法来提取数据,并可以指定元素的属性。虽然Scrapy本身不直接使用attrs这个词,但你可以通过XPath或CSS选择器来指定包含特定属性的元素。

总的来说,attrs在爬虫编程中不是一个直接使用的参数或方法,但它代表了通过元素的属性来定位或提取数据的一种常见做法。不同的库和框架提供了不同的机制来实现这一点。

print(soup.find_all(attrs={"id":"list-1"}))

print(soup.find_all(attrs={"name":"elements"}))

print(soup.find_all(id='list-1'))

print(soup.find_all(name='elements'))

由于class是环境中的关键字,因此需要加下划线

print(soup.find_all(class_='list'))

import re

可以利用正则表达式对页面内容进行匹配,返回列表数值

print(soup.find_all(string=re.compile("Foo")))

——————————————————————————————————————

find_parents 和 find_parent:前者返回所有祖先节点,后者返回直接父节点。
find_next_siblings 和 find_next_sibling:前者返回后面所有的兄弟节点,后者返回后面第一个兄弟节点。
find_previous_siblings 和 find_previous_sibling:前者返回前面所有的兄弟节点,后者返回前面第一个兄弟节点。
find_all_next 和 find_next:前者返回节点后所有符合条件的节点,后者返回第一个符合条件的节点。
find_all_previous 和 find_previous:前者返回节点前所有符合条件的节点,后者返回第一个符合条件的节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值