Heim >Backend-Entwicklung >Python-Tutorial >Wie sammle ich Bilddaten mit Python?

Wie sammle ich Bilddaten mit Python?

PHPz
PHPznach vorne
2023-05-09 09:34:161637Durchsuche

Anfrage senden

Wie sammle ich Bilddaten mit Python?

Wir ermitteln zunächst die URL. Wir verwenden zunächst die Entwicklertools, um die gewünschten Daten zu finden. Es wurde festgestellt, dass sich der Inhalt im Quellcode der Webseite befindet.

url = 'https://www.hexuexiao.cn/tj/WuJiayi/'

res = requests.get(url)

# print(res.text)
html_url = re.findall(&#39;<a href="https://www.hexuexiao.cn/a/(\d+).html" rel="external nofollow"  >&#39;,res.text,re.S)
urls = sorted(list(set(html_url)), key=html_url.index)

Der Wert unserer html_url-Variable hier ist ein reguläres Ausdrucksobjekt, das zum Zuordnen von Links zu Website-Bildern verwendet wird. Der Codeblock list(set(html_url)) wandelt das Listenobjekt in ein Sammlungsobjekt um. Verwenden Sie die Methode set(), um das Listenobjekt in ein Sammlungsobjekt umzuwandeln ist eine Methode zum Konvertieren des Listenobjekts in ein Sammlungsobjekt. Methode zum Konvertieren der Elemente einer Sammlung in eine Menge. html_url.index ist ein ganzzahliges Objekt, das angibt, wie oft jedes Element in html_url in der ursprünglichen HTML-Zeichenfolge vorkommt, um eine Sortierung zu erreichen. html_url 变量的值是一个正则表达式对象,用于匹配网站图片的链接。代码块 list(set(html_url)) 将列表对象转换为集合对象,使用 set() 方法将列表对象转换为集合对象,这是一个将列表中的元素转换为集合的方法。html_url.index 是一个整数对象,表示 html_url中各元素在原始 HTML 字符串中出现的次数,以此来实现排序。

保存数据

for url1 in urls:
    for page in range(0,10):
        url2 = f&#39;https://www.hexuexiao.cn/a/{url1}-{page}.html&#39;
        # print(url2)
        res1 = requests.get(url2)
        # print(res1.text)
        url3 = re.findall(&#39;<img  src=(.*?)/ alt="Wie sammle ich Bilddaten mit Python?" ></a>&#39;,res1.text,re.S)[0]
        print(url3)
        url3=re.sub(&#39;&#39;,"",url3)
        print(url3)

我们这段代码中的 urls 列表是一个字典,其中键是 URL,值是页码。在循环中,我们使用 range() 函数从 0 到 9 迭代页码。接下来,我们使用 requests.get() 方法分别获取每个页面的 HTML 代码,并使用正则表达式匹配出所有的图片链接。最后,我们使用 requests.get() 方法获取每个图片链接的内容,并将其写入一个文件中。

保存图片

 content = requests.get(url3).content
        with open(&#39;图片\&#39; + str(num) + &#39;.jpg&#39;, mode=&#39;wb&#39;) as f:
            f.write(content)

我们这段代码中的 content 变量的值是从图片链接 url3 中获取的内容。然后,使用 with open() 语句打开一个二进制文件,并将 content 写入文件中。在这个过程中,num

Daten speichern

rrreee

Die Liste urls in unserem Code ist ein Wörterbuch, bei dem der Schlüssel die URL und der Wert die Seitenzahl ist. In der Schleife iterieren wir die Seitenzahlen von 0 bis 9 mit der Funktion range(). Als Nächstes verwenden wir die Methode requests.get(), um den HTML-Code jeder Seite abzurufen, und verwenden reguläre Ausdrücke, um alle Bildlinks abzugleichen. Schließlich verwenden wir die Methode requests.get(), um den Inhalt jedes Bildlinks abzurufen und ihn in eine Datei zu schreiben. 🎜🎜Speichern Sie das Bild🎜rrreee🎜Der Wert der Variablen content in unserem Code ist der Inhalt, der aus dem Bildlink url3 erhalten wird. Verwenden Sie dann die Anweisung with open(), um eine Binärdatei zu öffnen und Inhalt in die Datei zu schreiben. In diesem Prozess ist der Wert der Variablen num die Bildseriennummer in der aktuellen Datei. Das Abrufen von Bildern erfolgt auf die gleiche Weise wie das vorherige Abrufen von Audiodaten und wird als Binärdatei gespeichert. 🎜🎜Auf diese Weise werden unsere Bilddaten gespeichert. Hier werde ich den Effekt nicht zeigen. Das Prinzip ist dasselbe. Wenn wir die Adresse des Bildes finden, können wir es erhalten. 🎜

Das obige ist der detaillierte Inhalt vonWie sammle ich Bilddaten mit Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen