您的位置:首页 > 编程语言 > Python开发

爬虫奇遇记——如何按照标签的文本内容来抓取

2017-02-25 07:46 169 查看
俗话说的好:只要能爬下来,其他都不是事。

昨天写爬虫遇到这样一个情况:父标签的class内容都一样,里面子标签只有标签带文本,还是来张图比较明了:

我又要以站长之家的为例说明了



可以发现,这两块,父标签和子标签内容一模一样,findall第一个指向的是第一块的,直接用索引我试过,一开始是可以的,但是对于其他网页,有的并没有注册商这一块,这时候索引就对不上了,还有可能报IndexError

然后我就想,我能不能按照子标签的文本内容来找呢?这样我就肯定能找到了!

但是BeautifulSoup并没有提供按照文本查找的方法,怎么办呢?方法是人想出来的,BeautifulSoup也是人写出来的

这是我的实现方法,大神们如果有其他方法,欢迎讨论。

create_time_text = whois_check.find('li', class_='bor-b1s ')
# 不能索引形式找,要用文本内容来找
while True:
if u'创建时间' not in create_time_text.text: # 逐个匹配,找到创建时间所在的节点
create_time_text = create_time_text.next_sibling
else:
break
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息