爬虫奇遇记——如何按照标签的文本内容来抓取
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
昨天写爬虫遇到这样一个情况:父标签的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
相关文章推荐
- 如何使用JS脚本从HTML中分离图片标签与文本,替换文本中指定的内容并加粗(原创)
- 当标签内有嵌套的子标签的情况下,如何用jquery检索纯文本内容
- 如何去除html标签得到纯文本内容
- 如何获取在编辑框中选择的文本内容
- ORACLE中如何查找特定对象中的文本内容~
- Flex中如何创建复数行文本内容的List
- 如何获取网页中的密码和文本输入框的内容
- 请教Ado.Net按文本读取CSV/Txt文件时,如何禁止将内容转换成数字
- JAVA swing JLabel JButton标签文本文字内容的换行
- 如何修改txt文本文件的内容
- C#如何抓取网页数据、分析并且去除Html标签
- 如何用正则获取span标签内容????????
- textarea中的多行文本(有换行)的内容提交到access数据库中 ,如何读取出来和编辑时一样
- 如何抓取网页数据、分析并且去除Html标签(C#)
- 如何抓取网页数据、分析并且去除Html标签C#(转载)
- GOOGLE Gadgets 处理远程内容,如何提取和控制远程文本(通常为 HTML)、XML、JSON 和 RSS/Atom 供稿数据。
- 使用Struts2标签输出带HTML标签的文本内容
- 如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
- [VB.NET]请问如何取得多选中的listBox当前选中的文本内容?
- 如何抓取网页数据、分析并且去除Html标签(C#)