Извлечь выделенный текст на веб-странице - PullRequest
0 голосов
/ 31 августа 2018

Я хотел бы знать, есть ли способ извлечь выделенный текст из абзаца на веб-странице.

После долгих поисков. Я наткнулся на этот модуль https://python -docx.readthedocs.io / en / latest / но это для документов.

Например, допустим, у нас есть следующий абзац:

"Stack Overflow - частный веб-сайт , флагманский сайт сети обмена стеками, созданный в 2008 году Джеффом Этвудом и Джоэлем Спольски. Он был создан, чтобы стать более открытой альтернативой предыдущему вопросу и сайты ответов, такие как Experts-Exchange . Название сайта было выбрано голосованием в апреле 2008 года читателями Coding Horror, популярного блога программирования Atwood. В нем представлены вопросы и ответы по широкому кругу вопросов в области компьютерного программирования "

Теперь в вышеприведенном абзаце допустим, что выделенная жирным шрифтом строка - это слова, которые я выделил, и я хочу извлечь и вывести выделенные. Есть ли способ, которым я могу сделать это на веб-странице.

Итак, вывод должен быть: частный сайт; Эксперты-Обмен; широкий спектр тем.

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

Я думаю, что это решение будет лучше применимо к тому, что вы ищете:

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('────────────────────');
        }
    });
});

вывод Treepad Выделение примера ссылки на текст :

white against a dark blue
────────────────────
background
────────────────────
black against a gray background
────────────────────
0 голосов
/ 31 августа 2018

вы можете просто сделать это с помощью 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)
0 голосов
/ 31 августа 2018

Что бы я сделал, это использовал 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('────────────────────');
        }
    });
});
...