파이썬 파도타기 그림
다투다
requests
BeautifulSoup4
코드
# -*- coding:utf-8 -*-
# pip install requests
import requests
# pip install beautifulsoup4
# pip install lxml
from bs4 import BeautifulSoup
import os
class doutuSpider(object):
headers = {
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
}
def get_url(self, url):
data = requests.get(url, headers=self.headers)
soup = BeautifulSoup(data.content, 'lxml')
totals = soup.findAll("a", {"class": "list-group-item"})
for one in totals:
sub_url = one.get('href')
global path
path = 'E:\\img' + '\\' + sub_url.split('/')[-1]
os.mkdir(path)
try:
self.get_img_url(sub_url)
except:
pass
pass
pass
def get_img_url(self, url):
data = requests.get(url, headers = self.headers)
soup = BeautifulSoup(data.content, 'lxml')
totals = soup.findAll('div', {'class': 'artile_des'})
for one in totals:
img = one.find('img')
try:
sub_url = img.get('src')
except Exception as e:
raise e
finally:
urls = sub_url
try:
self.get_img(urls)
except:
print urls
pass
pass
pass
def get_img(self, url):
filename = url.split('/')[-1]
global path
img_path = path + '\\' + filename
img = requests.get(url, headers = self.headers)
try:
with open(img_path, 'wb') as f:
f.write(img.content)
except:
pass
pass
def create(self):
for count in range(1,10):
url = 'https://www.doutula.com/article/list/?page={}'.format(count)
print 'download {} page'.format(count)
self.get_url(url)
pass
pass
if __name__ == '__main__':
doutu = doutuSpider()
doutu.create()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.