今天2017年2月2日。我又运行了一遍这个代码,发现成功将小说下载到电脑本地,保存为txt格式。
很不错!!!!
-------------分割线------------------
全书网的小说,我编写好了代码,两个函数,我都经过检验了,可以运行。但是,由于ip被限制了,整个函数我编写好之后,没办法运行,操蛋啊!
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#目前代码都没办法调试,因为代理ip或者我的ip都被屏蔽了,总显示超时链接。未完成!!!!
#看的是别人家的教程,用open函数打开文档保存的,不知道我自己能一次性调试成功否?
url = 'http://www.quanshu.net/book/16/16093/'
import requests
from bs4 import BeautifulSoup
import time
headers = {
'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36 QQBrowser/4.1.4132.400'
}
proxies = {"http": "117.90.7.24:9000"}
all_link=[]
def get_links(url):
wb_data = requests.get(url,headers=headers)
soup = BeautifulSoup(wb_data.content,'lxml')
links=soup.select('#chapter > div.chapterSo > div.chapterNum > ul > div.clearfix.dirconone > li > a')
titles=soup.select('#chapter > div.chapterSo > div.chapterNum > ul > div.clearfix.dirconone > li > a')
for link,title in zip(links,titles):
data={
'link':'http://www.quanshu.net/book/16/16093/'+link.get('href'),
'title': title.get_text()
}
#print(data)
all_link.append(data)
#成功将links和titles放入到字典里面。
#print(all_link)
return all_link #返回的是一个列表。列表中的元素是字典。
def get_info(url):
wb_data = requests.get(url, headers=headers)
soup = BeautifulSoup(wb_data.content, 'lxml')
content = soup.select('.mainContenr')
#print(content)
return content
#get_info('http://www.quanshu.net/book/16/16093/5925536.html')
for i in get_links(url): #上面的代码都运行成功了,这个for循环还没有验证好,等解决了ip问题之后再说吧。真是操蛋。
content = get_info(i['link'])
content2 = content.replace(' ','')
time.sleep(5)
print(content2)
with open(i['title']+'.txt','w') as f:
f.write(content2)