博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scrapy_novel_python
阅读量:6554 次
发布时间:2019-06-24

本文共 1692 字,大约阅读时间需要 5 分钟。

1 # _*_ coding:UTF _8_ 2 from bs4 import BeautifulSoup 3 import requests,sys 4 class downloader(object): 5     def __init__(self): 6         self.server = 'http://www.biqukan.com/' 7         self.target = 'http://www.biqukan.com//1_1094/' 8         self.names = [] 9         self.urls = []10         self.nums = 011     #获取下载链接12     def get_download_url(self):13         reg = requests.get(url = self.target)14         html = reg.text15         div_bf = BeautifulSoup(html)16         div = div_bf.find_all('div', class_ = 'listmain')17         a_bf = BeautifulSoup(str(div[0]))18         a = a_bf.find_all('a')19         self.nums = len(a[15:])20         for each in a[15:]:21             self.names.append(each.string)22             self.urls.append(self.server + each.get('href'))23     #获取章节内容24     def get_contents(self,target):25         req = requests.get(url = target)26         html = req.text27         bf = BeautifulSoup(html)28         texts = bf.find_all('div',class_ = 'showtxt')29         texts = texts[0].text.replace('\xa0'*8,'\n\n')30         return texts31     #写入文件32     def writer(self,name,path,text):33         write_flag = True34         with open(path,'a',encoding='utf-8') as f:35             f.write(name + '\n')36             f.writelines(text)37             f.write('\n\n')38 if __name__ == '__main__':39     dl = downloader()40     dl.get_download_url()41     print('《一念永恒》开始下载:')42     for i in range(dl.nums):43         dl.writer(dl.names[i],'一念永恒.txt',dl.get_contents(dl.urls[i]))44         sys.stdout.write("已下载:%.3f%%" % float(i/dl.nums) + '\r')45         sys.stdout.flush()46     print('《一念永恒》下载完成')

 

转载于:https://www.cnblogs.com/zysps1/p/novel_scrapy.html

你可能感兴趣的文章
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
再谈ABC
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
java-Mail
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
Hibernate 的HQL语句,初级
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
Android webview使用详解
查看>>
业务对象和BAPI
查看>>
程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
程序中的魔鬼数字
查看>>
SVN高速新手教程
查看>>
session cookie
查看>>
如何在Vblock里配置Boot from SAN
查看>>
ZBar之ZBarReaderViewController
查看>>
Android学习笔记——Handler(一)
查看>>
Nuget~管理自己的包包~丢了的包包快速恢复
查看>>