赞
踩
import requests as r from lxml import etree import re ## 根网址 base_url = "xxx" ## 小说id,即小说目录地址后的那一串数字 content_id = "xxx" ## 下载路径及文件名 myFile= "./小说名.txt" ## 获取html items = r.get(base_url + "/" + content_id).text html_body = etree.HTML(items).xpath("/html/body") ## 获取小说目录 ## 这里采用了xpath的方式获取到类为listmain的div,并获取到其内部的dl,然后获取第二个dt之后的所有dd标签,获取每个dd标签下的a标签的href即为小说每一章的地址。 href = html_main.xpath("//div[@class='listmain']/dl/dt[2]/following-sibling::dd//a/@href") ## 打开文件并追加写入每一章的标题和内容,记得在最后处理一下\n\t和一些其它编码符。(可以适当添加延迟或者参考笔者之前的代理ip博客使用代理ip,否则可能会出现访问超时) with open(myFile,"a", encoding="utf-8") as f: for item in href: res_content = "" # 拼接url url = base_url+item response = r.get(url).text res_html = etree.HTML(response) title = res_html.xpath("//div[@class='content']/h1/text()")[0] print("正在下载:"+title) res_content+=title res_content+='\n' contents = res_html.xpath("//div[@id='content']/text()") for content in contents: trans_content = re.sub(r'\xa0', '', content) res_content += content.replace("\xa0","").replace('\r','\t') res_content+='\n' f.write(res_content) print("下载完成")
记一次用Python爬取代理IP并使用(尝试用代理IP制造直播房间访问量)
记一次用Python统计全国女性Size
Python爬虫——爬取阳光高考专业数据并对所有专业进行数据分析
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。