중화사전망 - 자전 검색 - 파이썬 웹 크롤러를 사용하여 okcoin 의 과거 데이터를 얻으려면 어떻게 해야 합니까?

파이썬 웹 크롤러를 사용하여 okcoin 의 과거 데이터를 얻으려면 어떻게 해야 합니까?

먼저 전체 페이지의 데이터를 가져옵니다

먼저 사진을 다운로드할 전체 페이지 정보를 얻을 수 있습니다.

Getjpg.py

# 인코딩 =utf-8

Urllib 가져오기

Def getHtml(url):

페이지 = urllib.urlopen (URL)

Html = page.read ()

Html 로 돌아가기

Html 인쇄

Urllib 모듈은 웹 페이지에서 데이터를 읽는 인터페이스를 제공합니다. 로컬 파일을 읽는 것처럼 www 와 FTP 에서 데이터를 읽을 수 있습니다. 먼저 getHtml () 함수를 정의합니다.

웹 사이트. URL () 메서드는 URL 주소를 여는 데 사용됩니다.

Read () 메서드는 URL 에서 데이터를 읽고, getHtml () 함수에 URL 을 전달하고, 전체 페이지를 다운로드하는 데 사용됩니다. 실행 프로그램은 전체 웹 페이지를 인쇄합니다.

둘째, 페이지에서 필요한 데이터를 필터링합니다

파이썬은 매우 강력한 정규식을 제공합니다. 먼저 파이썬 정규식을 알아야 합니다.

만약 우리가 바이두 스티커에서 아주 아름다운 벽지를 발견했다면, 이전 단락의 도구를 좀 볼 수 있을 것이다. 그림 주소를 찾았습니다 (예: src = "/70 cf ying qfm 2e88 ium _ a/forum ... jpg" pic _ ext = "JPEG"

코드를 다음과 같이 수정합니다.

수입 re

Urllib 가져오기

Def getHtml(url):

페이지 = urllib.urlopen (URL)

Html = page.read ()

Html 로 돌아가기

Def getImg(html):

Reg = r'src= "(. +? \.jpg)" pic_ext'

Imgre = 재컴파일 (reg)

Imglist = re.findall(imgre, html)

Imglist 로 돌아가기

Getimg 인쇄 (html)

또한 페이지 전체에서 필요한 그림 연결을 필터링하는 getImg () 함수도 만들었습니다. Re 모듈에는 주로 정규 표현식이 포함되어 있습니다.

Re.pile () 은 정규식을 정규식 객체로 컴파일합니다.

Re.findall () 메서드는 imgre (정규식) 가 포함된 html 의 데이터를 읽습니다.

스크립트를 실행하면 전체 페이지에 포함된 그림의 URL 주소를 얻을 수 있습니다.

셋째, 페이지를 필터링한 데이터를 로컬로 저장합니다

For 루프를 통해 필터링된 이미지 주소를 반복하고 로컬에 저장합니다. 코드는 다음과 같습니다.

# 인코딩 =utf-8

Urllib 가져오기

수입 re

Def getHtml(url):

페이지 = urllib.urlopen (URL)

Html = page.read ()

Html 로 돌아가기

Def getImg(html):

Reg = r'src= "(. +? \.jpg)" pic_ext'

Imgre = 재컴파일 (reg)

Imglist = re.findall(imgre, html)

X = 0

Imglist 에서 imgurl 의 경우:

Urllib.urlretrieve(imgurl,' %s.jpg'% x')

X+= 1

Getimg 인쇄 (html)

여기서 핵심은 urllib.urlretrieve () 메서드를 사용하여 원격 데이터를 직접 로컬로 다운로드하는 것입니다.

For 루프를 통해 얻은 이미지 연결을 순회합니다. 이미지의 파일 이름을 좀 더 규범적으로 보이기 위해 x 변수에 1 을 추가하여 이름을 변경했습니다. 저장 위치는 기본적으로 프로그램이 저장되는 디렉토리입니다.

프로그램을 실행한 후, 너는 디렉터리에서 다운로드한 파일을 볼 수 있을 것이다. 전재는 참고용으로만 제공된다.