Python爬虫如何爬取span和span中间的内容并分别存入字典里?
问题描述
我想把房屋概况分别抓出来并分别作为独立的列存储进字典里,但是行内元素没有办法直接用for循环抠出来。这是我的代码:
soup.select(’.house-info li’)[1].text.strip()
这是网页html代码:
<li><span class='info-tit'>房屋概况:</span>住宅<span class='splitline'>|</span>1室1厅1卫<span class='splitline'>|</span><span>46m²</span><span class='splitline'>|</span> (高层)/共18层<span class='splitline'>|</span>南北<span class='splitline'>|</span> 豪华装修 </li>
问题解答
回答1:其实还是很有简单的,你看这个还是有规律的,规律在于有分隔符|,我写了个DEMO
something = ’’’<li><span class='info-tit'>房屋概况:</span>住宅 <span class='splitline'>|</span>1室1厅1卫<span class='splitline'>|</span><span>46m²</span><span class='splitline'>|</span> (高层)/共18层<span class='splitline'>|</span>南北<span class='splitline'>|</span> 豪华装修 </li>’’’;soup = BeautifulSoup(something, ’lxml’)plaintext = soup.select(’li’)[0].get_text().strip()
通过get_text()得到内在所有内容,然后去除空格。后面你就用split进行分割吧,后面的不写了。如果有问题再交流。
回答2:我感觉这个html代码写错了呢,标签的内容文本在标签外面房屋概况:
46m²
回答3:innerText
回答4:你这种情况,我觉得用 for 循环加上正则表达式是最方便的,如果所有模版都是这样固定的话
回答5:用pyquery吧
from pyquery import PyQuery as Q
Q(text).find(’.house-info li’).text()
相关文章:
1. java - mybatis怎么实现在数据库中有就修改,没有就添加2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. MYSQL新建用户设置可以远程访问的问题4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. 数据库 - mysql 远程可以连接,但是本地连接拒绝?7. mysql 5.7单表300万数据,性能严重下降,如何破?8. mysql 为何insert的时候会有lock wait timeout 异常9. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么10. mysql同步数据到elasticsearch用什么工具?
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)