python 학습(2)파충류-사이트 소설 을 기어 올 라 txt 파일 로 저장(1)

1:소설 페이지 가 져 오기
필요 모듈
import requests #      

목표 소설 사이트:http://m.50zw.la
페이지 가 져 오기
r = requests.get('http://m.50zw.la',params=re_header)

requests 의 고급 기능
이곳 의 reheader 는 HTTP 요청 헤더 입 니 다.브 라 우 저 방문 을 모방 하여 사이트 에 발견 되 지 않도록 하 는 방법 은 다음 과 같 습 니 다.chrome 으로 소설 사이트 2 를 열 고 F12 를 누 르 면 개발 자 모드 나 마우스 우 클릭->개발 자 모드 3 에 들 어 가 는 지 확인 하고 network 4 를 누 르 십시오.그림:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第1张图片
주:request-header 에 있 는 것 은 전부 복사 할 필요 가 없습니다.일부분 만 있 으 면 됩 니 다.구체 적 으로 자신 이 해 보 세 요.
그리고 저희 가 얻 은 웹 페이지 는 r 에 저 장 됩 니 다python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第2张图片.
여기에 인 코딩 도 설정 해 야 합 니 다.requests 는 기본적으로 utf-8 입 니 다.저희 목표 사이트 의 인 코딩 은 gbkpython学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第3张图片입 니 다.
인쇄 된 것 은 사이트 의 소스 코드 입 니 다.우 리 는 소설 장절 내용 을 얻 으 려 면 문자 만 얻 으 면 됩 니 다.그래서 우 리 는 사이트 소스 코드 에 있 는 코드 부분 을 모두 제거 해 야 한다.
2.원본 코드 의 코드 부분 제거
필요 한 모듈:
from bs4 import BeautifulSoup

극단 적 인 대학|BeautifulSoup 의 용법
이 모듈 은 웹 페이지 의 태그 에 따라 지정 한 내용 을 가 져 올 수 있 습 니 다.python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第4张图片
select 방법 을 통 해 html 페이지 의 title 탭 을 선택 하면 되 돌아 오 는 것 은 목록 입 니 다.그림:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第5张图片
탭 에 있 는 텍스트 를 text 속성 으로 가 져 옵 니 다:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第6张图片
이런 것들 을 파악 하고 나 서 장절 의 내용 을 얻 는 것 은 매우 간단 하 다.
3.장절 내용 가 져 오기
우 리 는 먼저 한 장의 페이지 를 마음대로 열 고 F12 를 누 르 면 개발 자 모드 에 들 어 갑 니 다.그림:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第7张图片
왼쪽 위 에 있 는 마우스 아이콘 을 먼저 클릭 하고 선택 할 내용 을 클릭 하면 해당 하 는 탭 이 원본 코드 에서 강조 표 시 됩 니 다.
여기 서 우 리 는 장절 내용 이 id 가 nr1 인 탭 아래(select 방법 도 id 와 클래스 이름 에 따라 선택 할 수 있 음)를 볼 수 있다.그림:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第8张图片
장절 내용 을 가 져 온 후 파일 쓰기 에 편리 하도록 변수 에 저장 합 니 다python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第9张图片
4:파일 쓰기
필요 한 모듈:
import os

os 모듈 은 python 에서 파일 읽 기와 쓰기 에 사 용 됩 니 다.상세 한 것 은 python 3|초보 튜 토리 얼 을 알 아 볼 수 있 습 니 다.여 기 는 open()함수 만 사용 하면 됩 니 다.
open('       ,       ','    ,    wb')
#wb   :         ,            

그림:python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第10张图片
여기에 괄호 를 넣 는 것 이 좋 습 니 다.그렇지 않 으 면 예상 치 못 한 오류 가 발생 할 수 있 습 니 다python学习(二)爬虫——爬取网站小说并保存为txt文件(一)_第11张图片
생 성 된 파일 은 현재 스 크 립 트 가 있 는 디 렉 터 리 에 있 습 니 다.여기 서 형식 을 잘못 걸 었 습 니 다.사실은 txt 형식 이 어야 합 니 다.
전체 코드 는 다음 과 같 습 니 다:
import requests
import os
from bs4 import BeautifulSoup

url = 'http://m.50zw.la/book_1/5.html'
re_header = {
'Referer':'http://m.50zw.la/chapters_1/',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Mobile Safari/537.36'
}

#    
r = requests.get(url,params=re_header)

#    
r.encoding = 'gbk'

#  BeautifulSoup  
soup = BeautifulSoup(r.text,"html.parser")

#      
chapter_content = soup.select('#nr1')[0].text

#  /    
fo = open('1.txt','wb')

fo.write((chapter_content).encode('utf-8'))

print(chapter_content)

#        
fo.close()

print('    ')


참고:파 이 썬 파충류 시리즈:소설 을 타고 txt 파일 쓰기
다음 편:전체 소설의 추출|python 학습(2)파충류-웹 사이트 소설 을 추출 하여 txt 파일 로 저장(2)

좋은 웹페이지 즐겨찾기