Ich hoffe ich bin hier richtig. Mein Kollege und ich haben ein kleines Projekt für unsere Firmenhomepage.
Wir haben ein bisschen Ahnung von Python, mein Kollege mehr als ich. Ich bin eher dafür da den Server (Ubuntu 18) einzurichten und das Skript dann automatisiert auf diesen laufen zu lassen.
Er hat den Code bei sich erstellt (Windows 10 mit Anaconda) und mir geschickt. Ich führe diesen aus, alle Plugins sind installiert via "PIP", alles gut soweit.
Wir haben aber denke ich ein Problem mit dem Pfad, ich bekomme es nicht hin. Ich habe den Code in "root" testweise mal ausgeführt, hier führt er das Skript auch aus, das ist natürlich nichts für das produktive Arbeiten.
Struktur: Ordner Workflows mit den Skripten skript1, skript2, skript3 usw. + dataHandler.py in diesem Ordner. Im selben Ordner wie Workflows (im Moment root/workflows, root/cm_rs) soll dann der Content landen.
Wir wollen unsere Website crawlen um neue Inhalte zu erkennen, bzw Änderungen.
Hier ist der Code:
Code: Alles auswählen
import website_crawler as wc
from random import randint
from time import sleep
file_path = "rs_cm"
memory_file_name = "df_memory.txt"
history_file_name = "df_crawler_history.txt"
url_filter = ["example.com"]
crawling_count = 5
crawling_period = 150
df_memory = wc.handle_memory_files(file_path+"/",memory_file_name)
df_history = wc.handle_memory_files(file_path+"/",history_file_name)
for i in range(crawling_count):
rand_url = wc.pick_random_url(df_memory,url_filter)
#sleep(randint(1,120))
soup = wc.get_soup(rand_url)
if soup == "Error":
wc.overwrite_url_status(df_memory,rand_url,"Error")
else:
wc.overwrite_url_status(df_memory,rand_url,"crawled")
df_hrefs = wc.get_hrefs(soup,rand_url)
df_memory = wc.write_new_hrefs_to_memory(df_memory,df_hrefs)
df_history = wc.write_new_hrefs_to_history(df_history,rand_url,df_hrefs)
wc.set_recursion_limit()
if wc.store_soup(file_path,rand_url,soup) != "Error":
wc.store_soup(file_path,rand_url,soup)
wc.set_recursion_limit("off")
#wc.update_crawling_status(df_memory,crawling_period)
wc.handle_memory_files(file_path+"/",memory_file_name,read=False,write_obj=df_memory)
wc.handle_memory_files(file_path+"/",history_file_name,read=False,write_obj=df_history)
FileNotFoundError: [Errno 2] No such file or directory: '/rs_cm/df_memory.txt'
Wenn ich aber direkt auf root die Datei ausführe, schreibt er mir eine aktuelle memory.txt und history file in den Ordner rs_cm, aber am Rest der Ordner ändert sich nichts.
Ich hab schon so viel versucht, evtl. ist es nur ein kleiner Fehler, darauf hoffe ich.
Vielen Dank im Voraus für eure Hilfe. Ich werde mir mal das Buch zur Gemüten führen müssen
Mfg
Ralf