Tworzę małą umiejętność amazon alexa o nazwie JokePro i stworzyłem stronę internetową, na którą mogę bezpośrednio przesyłać żarty. Żarty trafiają do pliku txt w bazie danych, a następnie są ładowane na prostą stronę.

Chcę losowo wybrać wiersze z pliku żartu wyświetlanego bezpośrednio na stronie ze znacznikiem obiektu

Jak bym zabrał się do skrobania tekstu podanego przez tag obiektu.

http://jokepro.dx.am

source = requests.get("http://jokepro.dx.am/")
bs4call = bs4.BeautifulSoup(source.text, "html.parser")
parsed = bs4call.find('pre') #ive replaced pre with object aswell

Jakakolwiek pomoc byłaby doceniona

-1
Ironkey 14 styczeń 2020, 22:05

1 odpowiedź

Najlepsza odpowiedź

Jeśli dobrze rozumiem, chcesz załadować plik tekstowy opisany tagiem <object>, a następnie wybrać z niego losową linię:

import bs4
import requests
import random

url = "http://jokepro.dx.am/"

source = requests.get(url)
bs4call = bs4.BeautifulSoup(source.text, "html.parser")

obj = bs4call.find('object')

text = requests.get(url + obj['data']).text
# print(text) # <-- to print the textfile

print( random.choice(text.splitlines()) )

To wydruki (na przykład):

want to know a REALLY good joke? A high school student making this application in a week!
1
Andrej Kesely 14 styczeń 2020, 20:32