[Python] 纯文本查看 复制代码 import requests
from lxml import etree
def book():
url = "https://www.xbiquge.la/56/56564/" #我这里随便找了个盗版小说网站以一本小说举例
proxy={
"https": "xxxx" #可以加自己的代{过}{滤}理地址 ,如果不想加,可以把下面的proxies都删掉
}
response = requests.get(url,proxies=proxy) #获取url
response.encoding='utf-8' #指定字符编码为utf-8
html=etree.HTML(response.text) #解析网站的源码
url_list = html.xpath('//div[@id="list"]/dl/dd/a/@href')
name_list = html.xpath('//div[@id="list"]/dl/dd/a/text()')
fp = open("大奉打更人.txt",'w',encoding='utf-8')
for ur,na in zip(url_list,name_list):
print(f'https://www.xbiquge.la{ur}')
res = requests.get(f'https://www.xbiquge.la{ur}',proxies=proxy) #f'' 以 f开头表示在字符串内支持大括号内的python 表达式
res.encoding='utf-8'
res_html = etree.HTML(res.text)
info = res_html.xpath('//div[@id="content"]/text()')
fp.write(f'{na}\n\n]')
print(f'{na}__{ur}')
for i in info :
i = i.replace(u'\xa0','').replace('\n\n','\n') #r"" 的作用是去除转义字符 .replace(old, new[, max]) \xa0 是不间断空白符
if i == '\r' : #\r 表示将光标的位置回退到本行的开头位置 用来消除空行
continue
fp.write(i)
fp.write('\n\n')
fp.close()
if __name__ == '__main__' :
book() |