|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 罗同学 于 2018-10-20 12:03 编辑
最近在图书馆看了马伯庸的四海鲸骑、图书馆只有第一部、第二部网上找不到资源、在线能看的网站也只有这一个、就写了个爬虫爬下来、但是发现有的章节能爬到全文、有的章节只能爬一部分内容,看网站的代码都是一样的、在下愚钝没有发现问题所在,请各位大神帮忙。另外每一章正文前面还会有一些别的字也没有找到去掉的办法。。。
请运行前在同目录下创建“四海鲸骑”文件夹。为了方便各位大神测试。代码已经修改成不用输入任何参数,运行即可下载前三章,第二章就会出现少内容的问题。而且每次出现问题的章节都是固定的、请各位大神看看
小说连接:http://www.jjwxc.net/onebook.php?novelid=2872142
代码如下:
- import requests
- from bs4 import BeautifulSoup as bs
- import lxml
- import os, time
- def open_url(url):
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER'}
- res = requests.get(url, headers=headers)
- # with open('res.txt','w',encoding='utf-8') as f :
- # f.write(res)
- return res
- def get_txt(number, begin):
- i = 1
- for page in range(111, 114): #小说第二部代码的连接编码从111开始,到175,本段代码只下载前三章,第二章就会出现问题
- url = 'http://www.jjwxc.net/onebook.php?novelid=2872142&chapterid=%d' % page
- print(url)
- res = open_url(url)
- soup = bs(res.content, 'lxml')
- #title = soup.find(align="center").get_text()
- #print(title)
- text = soup.find('div',class_="noveltext").get_text('\n')
-
- file = open('第%03d章.txt' % i, 'w', encoding='utf-8')
- #file.write(title + '\n')
- file.write(text)
- file.close()
- time.sleep(3)
- i += 1
- if __name__ == '__main__':
- os.chdir('四海鲸骑')
- i = 1
- begin = 111
- get_txt(i, begin)
复制代码
每章前面出现的乱码如下图:不知道是不是取的标签有问题,也一并求教
|
|