Après avoir quitté le travail hier, j'ai soudainement eu l'idée d'écrire un robot pour capturer des choses sur le Web. J'ai passé une heure à apprendre brièvement la syntaxe de base de Python, puis j'ai écrit un robot en me référant à des exemples sur Internet. (Apprentissage recommandé : Tutoriel vidéo Python)
Les données Python sont analysées et enregistrées localement, généralement dans un fichier ou une base de données, mais le format de fichier est plus simple si c'est le cas. juste vous-même Lorsque vous écrivez un robot, vous pouvez enregistrer les données sous forme de fichier.
#coding=utf-8 import urllib.request import re import os ''' Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据 urlopen 方法用来打开一个url read方法 用于读取Url上的数据 ''' def getHtml(url): page = urllib.request.urlopen(url); html = page.read(); return html; def getImg(html): imglist = re.findall('img src="(http.*?)"',html) return imglist html = getHtml("https://www.zhihu.com/question/34378366").decode("utf-8"); imagesUrl = getImg(html); if os.path.exists("D:/imags") == False: os.mkdir("D:/imags"); count = 0; for url in imagesUrl: print(url) if(url.find('.') != -1): name = url[url.find('.',len(url) - 5):]; bytes = urllib.request.urlopen(url); f = open("D:/imags/"+str(count)+name, 'wb'); f.write(bytes.read()); f.flush(); f.close(); count+=1;
Après les tests, les fonctions de base peuvent toujours être réalisées. Le plus de temps est consacré à la correspondance régulière, car je ne suis pas très familier avec les expressions régulières. Cela a donc quand même pris du temps.
Remarque : Le programme ci-dessus est basé sur python 3.5. Il existe quelques différences entre python3 et python2. Lorsque j’ai commencé à étudier la grammaire de base, je suis tombé dans certains pièges.
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!