Я все еще новичок в python и пытаюсь использовать его для веб-скипинга.
В частности, я хочу получить все цитаты на этой странице , которые приведены здесь: "XXX полные кавычки по YYY" или в случае, если есть только одна цитата: "полная цитата по YYY" , После получения текста на каждой странице я хочу сохранить их в виде отдельного текстового файла.
Я следовал этому учебнику , но я немного запутался в том, как фильтровать HTML? Честно говоря, у меня почти нет опыта работы с HTML, поэтому немного сложно понять, что это значит, но я ДУМАЮ, интересующий вас раздел такой:
<a href="javascript:pop('../2020/
Вот мой код, чтобы открыть веб-страницу.
import bs4
from urllib.request import Request,urlopen as uReq
from bs4 import BeautifulSoup as soup
import re
#define url of interest
my_url = 'http://archive.ontheissues.org/Free_Trade.htm'
# set up known browser user agent for the request to bypass HTMLError
req=Request(my_url,headers={'User-Agent': 'Mozilla/5.0'})
#opening up connection, grabbing the page
uClient = uReq(req)
page_html = uClient.read()
uClient.close()
#html is jumbled at the moment, so call html using soup function
soup = soup(page_html, "html.parser")
Любая помощь очень ценится.
EDIT
Моя идея заключается в том, что я сначала скомпилирую соответствующие URL-адреса и сохраню их, а затем попытаюсь заставить bs сохранить текст в каждом URL-адресе.
Мне удалось выделить все интересующие ссылки:
tags = soup.findAll("a" , href=re.compile("javascript:pop"))
print(tags)
for links in tags:
link = links.get('href')
if "java" in link:
print("http://archive.ontheissues.org" + link[18:len(link)-3])
Теперь, как мне извлечь текст из каждой отдельной ссылки?