Python – die besten Beiträge

Destination IP von Port?

Moin, hab durch meine Langeweile nach neuen Projekten gesucht und bin darauf gestoßen ein Programm zu schreiben welches mir die Destination IP durch das scannen eines ports gibt. Hab es erst als mit einer TCP Verbindung versucht damit hat alles geklappt dann wollte ich es mit einer UDP Verbindung testen und natürlich musste ich dafür einen neuen Code schreiben allerdings klappt das ganze nicht so wie ich es mir vorstellt und komme nicht drauf wie ich es anders machen könnte. Ich hab das ganze an einem CS2 server versucht und hab mich mit einem Public server verbunden, in Wireshark wird mir das ganz normal angezeigt in meinem Programm wird mir leider trotzdem nichts angezeigt :/Keine Ahnung ob ich einen Denkfehler habe oder komplett falsch an die sache rangegangen bin. Gerne Vorschläge + Danke im Voraus :) Hier mein Code:

import socket

def check_port(port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    
    try:
        host = socket.gethostbyname(socket.gethostname())

        sock.bind((host, port))
        print(f"Port {port} ist offen und bereit.")
        print(f"Checking {host}:{port}")

        while True:
            data, addr = sock.recvfrom(1024)
            print(f"Empfangene Daten von {addr[0]}:{addr[1]}: {data}")

    except OSError as e:
        print(f"OS Error{port}: {e}")
    finally:
        sock.close()

if __name__ == "__main__":
    port = 27015  
    check_port(port)
IP-Adresse, Netzwerktechnik, Port, Programmiersprache, Python, Python 3, UDP

Crawler geht nicht weiter, wenn fertig mit einer URL?

Hallo zusammen,

ich arbeite gerade an einem Python-Crawler, der spezifisch für die Website beispielurl.de entwickelt wurde. Mein Ziel ist es, verschiedene Unterseiten zu crawlen, die jeweils unterschiedlichen Kategorien angehören, wie z.B. "Flaschenhersteller" und "Kartenhersteller". Der Crawler soll automatisch von einer Kategorie (z.B. beispielurl.de/Flaschenhersteller/page-1, beispielurl.de/Flaschenhersteller/page-2, usw.) zur nächsten wechseln (z.B. beispielurl.de/Kartenhersteller/page-1, beispielurl.de/Kartenhersteller/page-2, usw.), sobald alle Seiten der aktuellen Kategorie durchlaufen sind.

Leider funktioniert der Wechsel zwischen den Kategorien nicht wie erwartet. Der Crawler verarbeitet alle Seiten der ersten Kategorie korrekt, aber anstatt zur nächsten Kategorie zu wechseln, beginnt er wieder von vorn bei der ersten Kategorie, ohne die nachfolgenden Kategorien zu berücksichtigen.

Hier ist ein vereinfachter Ausschnitt meines Codes:

def process_page(self, url):
  soup = self.fetch_page_with_selenium(url)
  links = self.extract_PLZ_links(soup)

  for link in links:
    self.fetch_PLZ_details(link)

def run(self):
  try:
    for code in self.postal_codes:
      page_number = 1
      has_more_pages = True

      while has_more_pages:
        url = f"{self.base_url}/suche/-/{code}?page={page_number}"
        soup = self.fetch_page_with_selenium(url)
        links = self.extract_PLZ_links(soup)

        if links:
          for link in links:
            self.fetch_PLZ_details(link)
            page_number += 1
        else:
          has_more_pages = False
  finally:
    self.driver.quit()
    self.csv_handler.close_csv()

Hersteller = [Flaschenhersteller, Kartenhersteller, etc. ]
crawler = WebCrawler("https://beispielurl.de", Hersteller)
crawler.run()

Hat jemand eine Idee, warum der Crawler nicht zur nächsten Kategorie wechselt und wie ich dieses Problem beheben könnte? Ich bin für jeden Tipp dankbar!

HTML, Webseite, programmieren, Code, Python, Webentwicklung, crawler, Python 3

Wo kann ich Tokens für GPT-4 kaufen?

Hallo,

ich programmiere gerade einen Sprachassistenten und wollte ihn nun mit GPT-4 verbinden, ich habe auf Shop - ChatGPT 50000 Tokens gekauft, doch wenn ich das Programm starte, steht, dass ich trotzdem keinen Zugriff auf GPT-4 habe. Muss ich die Tokens irgendwo anders kaufen?

Mein Code:

import openai
import pyttsx3
import re
import pyjokes
import speech_recognition as sr
from pyowm import OWM
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import time
import random
import datetime
import pytz
from geopy.geocoders import Nominatim
from timezonefinder import TimezoneFinder


openai.api_key = 'sk-...'
model_id = "gpt-4"

engine = pyttsx3.init()


def recognize_speech():
    recognizer = sr.Recognizer()

    while True:
        with sr.Microphone() as source:
            print("Sage etwas...")
            audio = recognizer.listen(source, timeout=15)

        try:
            text = recognizer.recognize_google(audio, language="de-DE")
            print("Text: " + text)
            return text
        except sr.UnknownValueError:
            return "not_understood"
        except sr.RequestError as e:
            print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
            return ""


def openai_request(prompt):
    response = openai.ChatCompletion.create(
        model=model_id,
        messages=prompt
    )

    api_usage = response['usage']
    print('Total Token consumed: {0}'.format(api_usage['total_tokens']))
    prompt.append({'role': response.choices[0].message.role, 'content': response.choices[0].message.content})
    return prompt


def speak(text):
    engine.say(text)
    engine.runAndWait()


def ausführen():
    while True:
        q = recognize_speech()
        print("Erkannter Text:", q)

        if q == "not_understood":
            speak("Entschuldigung! Das habe ich nicht verstanden.")
            break

        elif not q:
            break

        elif "hallo" in q:
            speak('Hallo! Womit kann ich dir behilflich sein?')
            break

        else:
            prompt = [{'role': 'user', 'content': q}]
            prompt = openai_request(prompt)
            response = prompt[-1]['content']
            speak(response)


if __name__ == '__main__':
    ausführen()

Fehlercode:

C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Scripts\python.exe C:\Users\User\PycharmProjects\voiceAssistant\main.py 

Sage etwas...

Text: wann war der erste Weltkrieg

Erkannter Text: wann war der erste Weltkrieg

Traceback (most recent call last):

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 83, in <module>

  ausführen()

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 77, in ausführen

  prompt = openai_request(prompt)

       ^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\main.py", line 43, in openai_request

  response = openai.ChatCompletion.create(

        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create

  return super().create(*args, **kwargs)

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create

  response, _, api_key = requestor.request(

              ^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 298, in request

  resp, got_stream = self._interpret_response(result, stream)

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response

  self._interpret_response_line(

 File "C:\Users\User\PycharmProjects\voiceAssistant\venv\interpreter\Lib\site-packages\openai\api_requestor.py", line 765, in _interpret_response_line

  raise self.handle_error_response(

openai.error.InvalidRequestError: The model `gpt-4` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.

Process finished with exit code 1

Freundliche Grüsse

kaufen, Code, Error, künstliche Intelligenz, Programmiersprache, Python, Python 3, token, Sprachassistent, Pycharm, ChatGPT

Meistgelesene Beiträge zum Thema Python