어제 퇴근 후 문득 웹 페이지의 내용을 캡처하는 크롤러를 작성해야겠다는 생각이 들었습니다. 간단하게 Python의 기본 구문을 익히고 한 시간 정도 투자한 후, 인터넷에 있는 예제를 참고하여 크롤러를 작성했습니다. (추천 학습: Python 비디오 튜토리얼)
Python 데이터는 일반적으로 파일이나 데이터베이스에 로컬로 크롤링되어 저장되지만 파일 형식은 더 복잡합니다. 생각보다 간단합니다. 직접 크롤러를 작성해 가지고 놀면 데이터를 파일 형식으로 저장할 수 있습니다.
#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;
테스트 후에도 기본 기능을 계속 사용할 수 있습니다. 저는 정규 표현식에 익숙하지 않기 때문에 정규 매칭에 가장 많은 시간을 소비했습니다. 그래서 아직 시간이 좀 걸렸어요.
참고: 위 프로그램은 Python 3.5를 기반으로 합니다. python3과 python2에는 몇 가지 차이점이 있습니다. 처음 기본 문법을 보기 시작했을 때 몇 가지 함정에 빠졌습니다.
위 내용은 Python 데이터는 어디에 크롤링되고 저장되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!