胶水Pythonpython 入门程序员

Python爬取小说《心理罪城市之光》

2017-11-13  本文已影响78人  NiceBlueChai
爬取结果

我们选择努努小说进行小说的爬取
http://www.kanunu8.com/book4/10571/

#爬取结果
title=['序 往事',
 '第一章 和自己赛跑的人',
 '第二章 求婚',
 '第三章 报应',
 '第四章 足迹',
 '第五章 回忆的灰烬',
 '第六章 子宫',
 '第七章 雨夜寻踪',
 '第八章 噩梦',
 '第九章 对手',
 '第十章 思路',
 '第十一章 同态复仇',
 '第十二章 他的样子',
 '第十三章 地下室',
 '第十四章 似曾相识',
 '第十五章 城市之光',
 '第十六章 死期',
 '第十七章 公决',
 '第十八章 掌印',
 '第十九章 老宅',
 '第二十章 身份',
 '第二十一章 轮回',
 '第二十二章 杀手养成',
 '第二十三章 最爱',
 '第二十四章 忽略',
 '第二十五章 夺走',
 '第二十六章 熄灭',
 '第二十七章 死者的证言',
 '尾声 我想你要走了']
i=30
while i<59:
  url='http://www.kanunu8.com/book4/10571/1860'+str(i)+'.html'
  i+=1
 try:
        r=requests.get(url,timeout=30)
        r.raise_for_status() #判断网页返回的状态码是否为200
        r.encoding=r.apparent_encoding
    except:
        return '产生异常'
soup=BeautifulSoup(r.text,'lxml')
tag=soup.p.contents
path='g:/'+title[(i-30)]+'.txt'
 with open(path,'w') as f:
        #f.write('第 %s 章\r\n\r\n'%(i-31))
        for a in tag:
            if type(a) is bs4.element.NavigableString:
                f.write(str(a.string[6:])+'\n')
                print(a.string[6:])
        f.close()

完整代码:

# -*- coding: utf-8 -*-
"""
Comments  parsing 
 
@author: NiceBlueChai
""" 
import requests
import bs4

from bs4 import BeautifulSoup
import time
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return '产生异常'



title=['序 往事',
 '第一章 和自己赛跑的人',
 '第二章 求婚',
 '第三章 报应',
 '第四章 足迹',
 '第五章 回忆的灰烬',
 '第六章 子宫',
 '第七章 雨夜寻踪',
 '第八章 噩梦',
 '第九章 对手',
 '第十章 思路',
 '第十一章 同态复仇',
 '第十二章 他的样子',
 '第十三章 地下室',
 '第十四章 似曾相识',
 '第十五章 城市之光',
 '第十六章 死期',
 '第十七章 公决',
 '第十八章 掌印',
 '第十九章 老宅',
 '第二十章 身份',
 '第二十一章 轮回',
 '第二十二章 杀手养成',
 '第二十三章 最爱',
 '第二十四章 忽略',
 '第二十五章 夺走',
 '第二十六章 熄灭',
 '第二十七章 死者的证言',
 '尾声 我想你要走了']



for i in range(30,58):
    
    path='g:/'+title[(i-30)]+'.txt'
    url='http://www.kanunu8.com/book4/10571/1860'+str(i)+'.html'
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding='GBK'
    except:
        print('异常!!!')
    soup=BeautifulSoup(r.text,'lxml')
    tag=soup.p.contents
    with open(path,'w') as f:
        #f.write('第 %s 章\r\n\r\n'%(i-31))
        for a in tag:
            if type(a) is bs4.element.NavigableString:
                f.write(str(a.string[6:])+'\n')
                print(a.string[6:])
        f.close()
    
    time.sleep(1)

❤️我的目标是:someday,即便你花钱看我的文章,也会觉得心满意足


上一篇下一篇

猜你喜欢

热点阅读