Я пытаюсь найти класс или div на случайном веб-сайте с наибольшим содержанием.
, что означает, что мне не нужна боковая панель или панель навигации внутри веб-сайта
<body>
<div class="1">content</div>
<div class="2">side-bar</div>
<div class="3">nav-bar</div>
<div class="4">
<p>main content</p>
<p>more content</p>
</div>
<div class="5">latest posts</div>
<div class="6">comments</div>
</body>
вывод: имя класса - "4"
from urllib.request import urlopen
from urllib.error import HTTPError
import urllib.parse as urlparse
from bs4 import BeautifulSoup
url = "https://www.randomwebsite.com"
def get_class_name(url):
"""
Get the class name and return all "a" tags inside of it
"""
page = urlopen( url ).read() #getting the whole html souorce raw (unclear)
soup = BeautifulSoup(page, "lxml") #getting the whole html souorce raw (clear)
#which "div" has the most chars inside of it
x = max([len(i) for i in soup.find_all("div")])
#
for i in soup.find_all("div"):
if len(i) == x:
cls = i["class"][0]
# after finding the right class get the "a" tags links inside the "div/class"
for data in soup.find_all('div', class_=cls):
for a in data.find_all('a'):
print(a.get('href'),a.text) #for getting link
get_class_name(url)
Я старался изо всех сил объяснить. но я хочу, чтобы он работал для каждого URL