提取网页上的突出显示文本

时间:2018-08-31 16:43:18

标签: javascript python web-scraping python-requests

我想知道是否仍然可以从网页上的段落中提取突出显示的文本。

经过长时间的搜索。我遇到了这个模块https://python-docx.readthedocs.io/en/latest/ 但是用于文档。

例如,假设我们有以下段落:

“ Stack Overflow是一个私有网站,是Stack Exchange Network的旗舰网站,由Jeff Atwood和Joel Spolsky于2008年创建。它是为较早提出的问题提供更为开放的替代方案并回答诸如 Experts-Exchange 之类的网站。该网站的名称是由Atwood受欢迎的编程博客Coding Horror的读者于2008年4月投票选出的。 它以计算机编程中的广泛主题为特色的问题和答案”

现在在上一段中,我们可以说粗体字是我突出显示的字,我想提取并输出突出显示的字。有什么办法可以在网页上执行此操作。

因此输出应为: 私人网站;专家交流主题广泛。

3 个答案:

答案 0 :(得分:0)

我要做的是使用tinyreq并遍历正文以寻找标签。可以这样做很有用:

.ihf-for-sale-price

答案 1 :(得分:0)

我认为该解决方案将更好地应用于您要寻找的东西:

const req = require('tinyreq');

req('http://www.treepad.com/docs/tpp/manual/documents/127A901E40BA449B3C4359B720246BA3B2E67362.html', (err, body) => {
    if (err) { return console.log(err); }
    body.split('<body')[1].split('<span').map(textBold => {
        if(textBold.includes('background-color:')){
            console.log(textBold.split('>')[1].split('</SPAN')[0]);
            console.log('────────────────────');
        }
    });
});

output of treepad Highlighting text example link

white against a dark blue
────────────────────
background
────────────────────
black against a gray background
────────────────────

答案 2 :(得分:0)

您可以使用bs4轻松完成此操作。首先请确保已安装bs4和请求,如果要安装它们,只需运行以下两个命令

pip install requests
pip install bs4

然后您必须编写这样的python脚本

from bs4 import BeautifulSoup
import requests

page_url = 'http://127.0.0.1:1234'
source_code = requests.get(page_url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, features="lxml")
for bold in soup.findAll('b'):
    print(bold.contents)