Как получить ссылки на категории при парсинге Python? - PullRequest
1 голос
/ 09 мая 2020

Я полный новичок и пытаюсь очистить статьи с веб-сайта, но застрял. Я пытаюсь получить ссылки категорий, а затем go в каждую категорию и очистить статьи. Что я делаю не так?

from requests import get
from bs4 import BeautifulSoup

site = "https://readlightnovel.org/"

#Getting HTML page

r = get(site, headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"})
html_content = r.content

#Parsing HTML

soup = BeautifulSoup(html_content, "lxml")

#Getting all categories from the page

category = soup.findAll(class_="search-by-genre")
for link in category:
   #print(link.get("href"))
   print(link)

1 Ответ

1 голос
/ 09 мая 2020

Сделайте что-то вроде этого, чтобы найти ссылки, у которых есть прямой sla sh + категория + прямой sla sh + некоторый текст:

import re # regular expression 

for link in soup.find_all(href=re.compile(r'/category/\w+$')): 
    print(link.text) 

Результат:

In [15]: for link in soup.find_all(href=re.compile(r'/category/\w+$')): 
    ...:     print(link.text) 
    ...: 
    ...: 
Action
Adventure
Celebrity
# and the list goes on...
...