1,笔趣阁小说下载
url:http://www.xbiquge.la/xuanhuanxiaoshuo/
思路:进入首页,获取小说列表,进入小说,获取章节列表,在章节页面下载内容
字段:
小说名称
章节名称
章节内容
保存:
1.一本小说一个txt文件
2.每本小说都是全的。
进阶:
1.用多线程---保证章节目录是有序的。
版本1.0
import requests
from lxml import etree
import os
def get_proxies():
try:
response = requests.get('http://localhost:5000/get')
proxy = response.text
proxies = {
'http': 'http://' + proxy
}
return proxies
except Exception:
return None
def get_xpath_by_requests(url,proxies):
'''
:param url:
:param proxies: 代理字典
:return:
'''
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
'Cookie': '_abcde_qweasd=0; _abcde_qweasd=0; bdshare_firstime=1577178973028; Hm_lvt_169609146ffe5972484b0957bd1b46d6=1577178973,1577186563,1577186739,1577235413; BAIDU_SSP_lcr=https://www.baidu.com/link?url=AvLJGcMiHKBXi90P2T0xOluezhPz2PeeTLAbP75dmma&wd=&eqid=e131d391001338d8000000025e02b3d2; Hm_lpvt_169609146ffe5972484b0957bd1b46d6=1577235422',
'Referer': 'http://www.xbiquge.la/'
}
response = requests.get(url, headers=headers, proxies=proxies)
return etree.HTML(response.content.decode('utf-8'))
except Exception:
new_proxies = get_proxies()
print('更换{}代理ip!'.format(new_proxies))
return get_xpath_by_requests(url,new_proxies)
def get_text(text):
if text:
return text[0]
return ''
def write_to_txt(text,book_name):
filename = './book/'+book_name
dirname = os