python 사이트 내용
2933 단어 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()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.