Mit Hilfe einiger Online-Tuts (Bucky) habe ich es geschafft, einen einfachen Web-Scraper zu schreiben, der nur prüft, ob sich Text auf einer Webseite befindet. Was ich jedoch gerne tun würde, ist, dass der Code jede Stunde ausgeführt wird. Ich nehme an, dass ich den Code auch hosten muss, damit es das tut? Ich habe einige Nachforschungen angestellt, aber ich finde nicht, dass ich jede Stunde eine angemessene Methode finde, sie auszuführen. Hier ist der Code, den ich habe bisher:Wie mache ich meine Funktion jede Stunde?
import requests
from bs4 import BeautifulSoup
def odeon_spider(max_pages):
page = 1
while page <= max_pages:
url = "http://www.odeon.co.uk/films/rogue_one_a_star_wars_story/16038/" + str(page) #stores url in variable
source_code = requests.get(url) #gets url and sets it as source_code variable
plain_text = source_code.text #stores plain text in plain_text variable
soup = BeautifulSoup(plain_text, "lxml") #create beautifulsoup object
div_content = soup.findAll("div", {"class": "textComponent"}) #finds all divs with specific class
for x in div_content:
find_para = str(x.find('p').text) #finds all paragraphs and stores them in variable
text_to_search = "Register to be notified" #set text to search to variable
if text_to_search in find_para: #checks if text is in find_para
print("No tickets")
else:
print("Tickets")
page += 1
odeon_spider(1)
Dank!
Für Linux-Computer verwenden 'Crontab' –
Verwenden Sie Cronjobs unter Linux, auf Windows könnten Sie Taskscheduler verwenden –