Maison > Article > développement back-end > Comment utiliser Python pour collecter des données d’image ?
Nous déterminons d'abord l'URL Nous utilisons d'abord les outils de développement pour localiser les données souhaitées. J'ai constaté que le contenu se trouve dans le code source de la page Web.
url = 'https://www.hexuexiao.cn/tj/WuJiayi/' res = requests.get(url) # print(res.text) html_url = re.findall('<a href="https://www.hexuexiao.cn/a/(\d+).html" rel="external nofollow" >',res.text,re.S) urls = sorted(list(set(html_url)), key=html_url.index)
La valeur de notre variable html_url
ici est un objet d'expression régulière, utilisé pour faire correspondre les liens vers les images de sites Web. Le bloc de code list(set(html_url))
convertit l'objet liste en un objet de collection. Utilisez la méthode set()
pour convertir l'objet liste en un objet de collection. est une méthode pour convertir l'objet liste en un objet collection Méthode pour convertir les éléments d'une collection en un ensemble. html_url.index
est un objet entier qui représente le nombre de fois où chaque élément de html_url
apparaît dans la chaîne HTML d'origine pour effectuer le tri. 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'https://www.hexuexiao.cn/a/{url1}-{page}.html' # print(url2) res1 = requests.get(url2) # print(res1.text) url3 = re.findall('<img src=(.*?)/ alt="Comment utiliser Python pour collecter des données d’image ?" ></a>',res1.text,re.S)[0] print(url3) url3=re.sub('',"",url3) print(url3)
我们这段代码中的 urls
列表是一个字典,其中键是 URL,值是页码。在循环中,我们使用 range()
函数从 0 到 9 迭代页码。接下来,我们使用 requests.get()
方法分别获取每个页面的 HTML 代码,并使用正则表达式匹配出所有的图片链接。最后,我们使用 requests.get()
方法获取每个图片链接的内容,并将其写入一个文件中。
content = requests.get(url3).content with open('图片\' + str(num) + '.jpg', mode='wb') as f: f.write(content)
我们这段代码中的 content
变量的值是从图片链接 url3
中获取的内容。然后,使用 with open()
语句打开一个二进制文件,并将 content
写入文件中。在这个过程中,num
rrreee
La listeurls
dans notre code est un dictionnaire, où la clé est l'URL et la valeur est le numéro de page. Dans la boucle, nous itérons les numéros de page de 0 à 9 en utilisant la fonction range()
. Ensuite, nous utilisons la méthode requests.get()
pour obtenir le code HTML de chaque page et utilisons des expressions régulières pour faire correspondre tous les liens d'image. Enfin, nous utilisons la méthode requests.get()
pour obtenir le contenu de chaque lien image et l'écrire dans un fichier. 🎜🎜Enregistrez l'image🎜rrreee🎜La valeur de la variable content
dans notre code est le contenu obtenu à partir du lien image url3
. Ensuite, utilisez l'instruction with open()
pour ouvrir un fichier binaire et écrire content
dans le fichier. Dans ce processus, la valeur de la variable num
est le numéro de série de l'image dans le fichier actuel. L'obtention d'images est la même que l'obtention d'audio auparavant et est enregistrée sous forme de fichier binaire. 🎜🎜De cette façon, nos données d'image sont enregistrées. Ici, je ne montrerai pas l’effet. Le principe est le même. Si on trouve l’adresse de l’image, on peut l’obtenir. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!