小说爬虫实践-纵横中文网——居然是这样的仙人

    技术2022-07-11  90

    首先献上我代码

    import requests from lxml import etree import os def get_html(url): response = requests.get(url)#获取html源码 response.encoding = "utf-8"#转格式utf-8 #print(response.text) return response.text #这个给函数获取url链接并返回源码 def parse_page_detail(html): # 使用xpth爬取网页 etree_html = etree.HTML(html)#初始化xpath linked = etree_html.xpath('/html/body/div[3]/div[2]/div[2]/div/ul/li/a/@href')#里面的地址自己用xpath语法搞这个爬第一个主网页的每个章节的链接 titles = etree_html.xpath('/html/body/div[3]/div[2]/div[2]/div/ul/li/a/text()') #里面的地址自己用xpath语法搞这个爬第一个主网页的每个章节的标题 # 将数据压缩 data = zip(linked, titles)#合成一个元组一个大佬教我的 # 构建字典 with open("C:\\Users\\lyslyslys\\Desktop\\1.txt", 'w') as f:#存储目录 for it in data: print("正在下载" + it[1])#输出下载的哪个 litie_html = get_html(it[0])#调用get_html传进去每个章节的url返回源码 now_txt = page_txt(litie_html)#调用获取章节文章函数返回列表 f.write(it[1]+"\n")#先输出一行题目 for txt in now_txt: f.writelines(txt + '\n')#输出每个章节 def page_txt(html): etree_html = etree.HTML(html) now = etree_html.xpath('//*[@id="readerFt"]/div/div[5]/p/text()')#里面的地址自己用xpath语法搞这个每个章节的文章 return now#返回出去 def main(): now_html = get_html("http://book.zongheng.com/showchapter/997065.html") parse_page_detail(now_html) if __name__ == "__main__": main()

     截图看成品

     

    Processed: 0.012, SQL: 9