python 사이트 내용

2933 단어 python
1.python 을 이용 하여 백 번 생각 할 수 없 는 언니 사이트 의 사진 을 다운로드 합 니 다.
#-*- coding:UTF-8 -*- #    
#           
#     
import requests
import re
import urllib
import os.path

#        
def get_response(url):
    response = requests.get(url).content
    return response

#          
def get_content(html):
    reg = re.compile(r'(
.*?
.*?
)',re.S)
return re.findall(reg,html)
\#정규 에 따라 그림 자원 가 져 오기
def get_image_url(response):
reg = r'data-original="(.*?)"'
return re.findall(reg,response)
\#정규 에 따라 파일 이름 가 져 오기
def get_image_name(response):
reg = re.compile(' (.*?) ')
return re.findall(reg,response)
\#사진 다운로드
def download_image(image_url,path):
\#이름 을 빈 칸 으로 이동
path = ''.join(path.split())
\#그림 경 로 를 먼저 디 코딩 한 다음 인 코딩 하고 파일 접 두 사 를 동적 으로 가 져 와 새로운 그림 이름 으로 연결 합 니 다.
path = 'D:\\xx\\{}'.format(path.decode('utf-8').encode('gbk'))+'.'+os.path.splitext(image_url.decode('utf-8').encode('gbk'))[1]
\#로 컬 에 저장
urllib.urlretrieve(image_url, path)
def get_url_name(start_url):
print start_url
content = get_content(get_response(start_url))
for i in content:
image_url = get_image_url(i)
if image_url:
image_name = get_image_name(i)
#print image_url[0],image_name[0]
try:
download_image(image_url[0],image_name[0])
except:
print 'download error:'+image_url
continue
\#반복 다운로드
def main():
[get_url_name(start_url) for start_url in start_urls]
\#실행 입구
if __name__ == '__main__':
start_urls = ['http://www.budejie.com/{}'.format(i) for i in range(1,10)]
main()
2.단락 읽 기
#-*- coding:UTF-8 -*- #    
#           
#     
import requests
import re
import time

#        
def get_response(url):
    response = requests.get(url).content
    return response

#          
def get_content(html):
    reg = re.compile(r'(
.*?
.*?
)',re.S)
return re.findall(reg,html)
\#정규 에 따라 파일 이름 가 져 오기
def get_image_name(response):
reg = re.compile(' (.*?) ')
return re.findall(reg,response)
def get_url_name(start_url):
print start_url
\#사이트 가 공격 으로 간주 되 지 않도록 잠 을 좀 자 라
time.sleep(1)
content = get_content(get_response(start_url))
for i in content:
image_name = get_image_name(i)
if image_name:
#print image_url[0],image_name[0]
print image_name[0]
\#반복 읽 기
def main():
[get_url_name(start_url) for start_url in start_urls]
\#실행 입구
if __name__ == '__main__':
start_urls = ['http://www.budejie.com/text/{}'.format(i) for i in range(1,20)]
main()

좋은 웹페이지 즐겨찾기