我想知道是否有从网页上的段落中提取突出显示的文本。
经过长时间的搜索,我遇到了这个模块,https://python-docx.readthedocs.io/en/latest/,但它的文档。
例如,假设我们有以下段落:
"Stack Overflow是由杰夫·阿特伍德( Jeff Atwood )和乔尔·斯波斯基( Joel Spolsky )于2008年创建的、由Stack Exchange的旗舰网站私人所有的网站。它是为了更开放地取代早期的问答网站,比如,该网站的名字是由Atwood的热门编程博客Coding Horror的读者在2008年4月投票选出的。它提供了关于计算机编程中广泛主题的问答功能。“
现在,在上面的一段中,让我们说粗体字串是我突出显示的,我想提取加输出的突出显示的单词。我能在网页上做这个吗。
因此,其产出应该是:私人网站;专家交流;广泛的主题。
发布于 2018-08-31 17:29:14
我要做的是使用tinyreq,通过身体搜索标签。能够做到这一点是有用的:
const req = require('tinyreq');
const start = '<mark>'; const end = '</mark>';
// const start = '<b>'; const end = '</b>';
// const start = '<strong>'; const end = '</strong>';
req('https://en.wikipedia.org/wiki/Language_code', (err, body) => {
if (err) { return console.log(err); }
body.split('<body')[1].split(start).map(textBold => {
if(textBold.includes(end)){
console.log(textBold.split(end)[0]);
console.log('────────────────────');
}
});
});
发布于 2018-08-31 17:49:33
我认为这一解决方案将更好地应用于您正在寻找的:
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('────────────────────');
}
});
});
树突出显示文本示例链接的输出
white against a dark blue
────────────────────
background
────────────────────
black against a gray background
────────────────────
发布于 2018-08-31 17:57:32
您只需使用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)
https://stackoverflow.com/questions/52119710
复制相似问题