Ich verwende Selenium Version 4.31.0 mit Chromedriver und Chrome Version 129 zum Durchkratzen durch Python. Ich laufe einen einfachen Schaber, der aus mehreren URLs abkratzt. Innerhalb von 5 Minuten konsumierte es jedoch bis zu 1 GB Daten aus meiner Internetverbindung, und 9 Stunden lang hat es bis zu 80 GB zusammengefasst. Dort habe ich mich in Chromedriver und Chrome Version 135 umgewandelt. Es wurden 20 GB Daten aus meiner Internetverbindung innerhalb von 9 Stunden verbraucht. Im Folgenden habe ich eine grobe Struktur eines meiner Scriping -Skripts angehängt < /p>
Ich verwende Selenium Version 4.31.0 mit Chromedriver und Chrome Version 129 zum Durchkratzen durch Python. Ich laufe einen einfachen Schaber, der aus mehreren URLs abkratzt. Innerhalb von 5 Minuten konsumierte es jedoch bis zu 1 GB Daten aus meiner Internetverbindung, und 9 Stunden lang hat es bis zu 80 GB zusammengefasst. Dort habe ich mich in Chromedriver und Chrome Version 135 umgewandelt. Es wurden 20 GB Daten aus meiner Internetverbindung innerhalb von 9 Stunden verbraucht. Im Folgenden habe ich eine grobe Struktur eines meiner Scriping -Skripts angehängt < /p> [code]def __init__(self): self.options = webdriver.ChromeOptions() self.options.add_argument("start-maximized") self.options.add_argument("disable-infobars") self.options.add_argument("--disable-extensions") self.options.add_argument("--no-sandbox") self.options.add_argument('--headless') self.helper = Helper() self.site_name ='gomedicalmarket' self.csv_headers = [ 'site_name', 'city_name', 'category_name','product_name','item_name', 'key_', 'additional_day', 'additional_week', 'description', 'first_week','1day_price', '2day_price', '3day_price','4day_price', '5day_price', '6day_price', '7day_price', '8day_price', '9day_price', '10day_price', '11day_price', '12day_price', '13day_price', '14day_price', '15day_price', '16day_price', '17day_price', '18day_price', '19day_price', '20day_price', '21day_price', '22day_price', '23day_price', '24day_price', '25day_price', '26day_price', '27day_price', '28day_price', '29day_price', '30day_price','refined_scrap_prices' ] try: item_name = self.helper.get_item(map_item['item_name']) city = self.helper.get_city(map_item['city']) print(item_name, city) except: traceback.print_exc() try: driver.get(url) msg.good("Page loaded successfully") except Exception as e: msg.fail("Page load error") print(e) print(traceback.format_exc()) continue price_dict = {} description = []
#getting price ele try: listed_name =map_item["short_name"] name_ele = wait.until(EC.visibility_of_element_located((By.XPATH, f"//span[contains(text(),'{listed_name}')]"))) first_parent = name_ele.find_element(By.XPATH, "..") for i in range (0, 5): first_parent = first_parent.find_element(By.XPATH, "..") price_elements = first_parent.find_elements(By.XPATH, './/span[contains(text(), "$")]') weekly_price = float(re.search(r'\d+.\d+',price_elements[0].text).group(0)) monthly_price = float(re.search(r'\d+.\d+',price_elements[1].text).group(0)) additional_week = float(re.search(r'\d+.\d+',price_elements[2].text).group(0)) print("Weekly price: ", weekly_price) print("Monthly price: ", monthly_price) except Exception as e: print(f"Error getting Daily price") print(traceback.format_exc())
[/code] Ich erwarte eine ordnungsgemäße Lösung für eine riesige Internetnutzung.
Bevor ich anfange: Ich weiß, dass es eine Milliarde Beiträge darüber gibt, dass Selenium nicht funktioniert, und dass es verschiedene Lösungen gibt, die man ausprobieren kann. Ich glaube, ich habe...
Ich schreibe einen Code mit Selen und stelle an einem Punkt 7 Anfragen auf verschiedene Websites. Für den ersten funktioniert dies einwandfrei. Für andere erhalte ich jedoch einen Sitzungs -ID...
Ich habe dies in die UC Github -Diskussionen gekreuzt:
Ich bin ein Hack -Hobbyist. Bitte verzeihen Sie meinen Mangel an Codiing -Fähigkeiten. Traceback (most recent call last):
File...
Die Spezifikationen:
Intellidea mit Python auf Nobara Linux (Fedora -basiert 41)
Flatpak -Methode. Bis es anfing, mir Probleme mit Fehlern zu geben, wenn ich versuchte, Protokolle zu überprüfen...