首页 > 解决方案 > Python使用关键字提取html网页内容

问题描述

使用python想通过匹配关键字来提取上下文,

这是我的python脚本

import requests
from bs4 import BeautifulSoup
import re
html = """ <pre>
      Companies:
       Telstra VI Huawei
      Countries:
       JPN CHN MLY
   </pre>
   <pre>
   Data center:
    US UK
   </pre>"""
r = requests.get(html)
soup = BeautifulSoup(r.content, "html.parser")
k = soup.find(text=re.compile("companies:")).parent.text
print (k)

预期输出:

Companies:
       Telstra VI Huawei

标签: pythonhtmlpython-3.x

解决方案


尝试这个。

from simplified_scrapy import SimplifiedDoc

html = """ <pre>
      Companies:
       Telstra VI Huawei
      Countries:
       JPN CHN MLY
   </pre>
   <pre>
   Data center:
    US UK
   </pre>"""
doc = SimplifiedDoc(html)
pre = doc.getElementByReg('Companies:')
print(pre.text)
print('-' * 50)
print(pre.replaceReg('Countries:[\s\S]*', '').strip())

结果:

Companies: Telstra VI Huawei Countries: JPN CHN MLY
--------------------------------------------------
Companies:
       Telstra VI Huawei

推荐阅读