84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我想把房屋概况分别抓出来并分别作为独立的列存储进字典里,但是行内元素没有办法直接用for循环抠出来。这是我的代码:
soup.select('.house-info li')[1].text.strip()
这是网页html代码:
房屋概况:住宅 |1室1厅1卫 |46m² | (高层)/共18层 |南北 | 豪华装修
其实还是很有简单的,你看这个还是有规律的,规律在于有分隔符|,我写了个DEMO
something = '''房屋概况:住宅 |1室1厅1卫|46m²| (高层)/共18层 |南北 | 豪华装修 '''; soup = BeautifulSoup(something, 'lxml') plaintext = soup.select('li')[0].get_text().strip()
通过get_text()得到内在所有内容,然后去除空格。后面你就用split进行分割吧,后面的不写了。如果有问题再交流。
房屋概况:
46m²
内部文字
你这种情况,我觉得用 for 循环加上正则表达式是最方便的,如果所有模版都是这样固定的话
用pyquery吧
从 pyquery 导入 PyQuery 作为 Q
Q(text).find('.house-info li').text()
其实还是很有简单的,你看这个还是有规律的,规律在于有分隔符|,我写了个DEMO
通过get_text()得到内在所有内容,然后去除空格。后面你就用split进行分割吧,后面的不写了。
如果有问题再交流。
我感觉这个html代码写错了呢,标签的内容文本在标签外面
正确的标签内容就两个:
房屋概况:
46m²
内部文字
你这种情况,我觉得用 for 循环加上正则表达式是最方便的,如果所有模版都是这样固定的话
用pyquery吧
从 pyquery 导入 PyQuery 作为 Q
Q(text).find('.house-info li').text()