吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5770|回复: 17
收起左侧

[Python 转载] 用python爬取小说网站的小说

[复制链接]
小白之神111 发表于 2019-10-5 03:09
原本是做之前的项目的,但是一拖再拖到今天都没动手,然后就做了这个,简单看看吧 。

[Python] 纯文本查看 复制代码
import requests
from lxml import etree
import time
import os
import re

headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36",
         "Referer":"http://www.xbiquge.la/13/13959/"}
#伪造浏览器访问
url="http://www.xbiquge.la/13/13959/"
res=requests.get(headers=headers,url=url)
res.encoding= res.apparent_encoding
response=res.text
#print(response)

html=etree.HTML(response)
title=html.xpath("//*[@id='list']/dl/dd/a/text()")
#小说每个篇章的标题
title_url=html.xpath("//*[@id='list']/dl/dd/a/@href")
pingjie="http://www.xbiquge.la/"
real_url=[]
#小说每个篇章的地址
for neirong in title_url:
    real_url.append(pingjie+neirong)
#print("\n".join(real_url))
#print("\n".join(x for x in title_url))

os.chdir(os.getcwd())
if not os.path.exists(os.getcwd()+"/book"):
    print("目录不存在,准备创建目录")
    os.mkdir("book")
    os.chdir(os.getcwd()+"/book")
else:
    print("目录已存在")
    os.chdir(os.getcwd()+"/book")


#time.sleep(5)
localpath=os.getcwd()#原始目录
print("\n原始地址是:"+str(localpath))
#time.sleep(20)


for i in range(len(real_url)):

    # os.chdir(localpath)  # 目录重定位,不然会乱
    # # 给定位,然后判断文件夹在不在,若不在则创建
    # realpath = os.getcwd() + os.path.sep + str(title[i])+".txt"
    # if not os.path.exists(realpath):
    #     with open(title[i]+".txt","w")as w:
    #         pass
    #     print('\n文件夹' + str(title[i]) + '不存在,创建完成')
    # else:
    #     print('\n文件夹' + str(title[i]) + '已存在,无需创建')
    #
    #
    # print("\n当前目录是:" + str(os.getcwd()) + "\n")








    res = requests.get(headers=headers, url=real_url[i])
    res.encoding = res.apparent_encoding
    response = res.text
    html = etree.HTML(response)
    word=html.xpath("//*[@id='content']/text()")
    word=str(word)

    c=word.replace(r"\xa0\xa0\xa0\xa0","")
    c=c.replace(r"'\r',","\n")
    c=c.replace(r"\r","")
    c=re.sub(r"[\'\]\[]","",c)
    #c=re.sub(r",$,","",c)
    #print(c)



    with open(title[i]+".txt","w")as f:
        print("正在下载"+str(title[i])+"\n")

        f.write(c)
        print(str(title[i])+"下载完成"+"\n")
        f.write("\n\n================")














效果图:
   

是这样的,搞到最后我也没把这后面的逗号去掉,有大神帮小白看看嘛





免费评分

参与人数 3吾爱币 +4 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
spll6 + 1 用心讨论,共获提升!
螃蟹第二 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

SummerSui 发表于 2019-10-5 08:29

    c=word.replace(r"\xa0\xa0\xa0\xa0","")
    c=c.replace(r"'\r',","\n")
    c=c.replace(r"\r","")
    c=re.sub(r"[\'\]\[]","",c)
改为       
     c=word.replace(r"\xa0\xa0\xa0\xa0","")
     c=c.replace(r"\r', '\r',","\n")
     c=re.sub(r"[\'\]\[]","",c)
效果如下:
1570235199.png
Quincy379 发表于 2019-10-5 06:01
小星学破解 发表于 2019-10-5 07:11
楼主爬取这个把:https://www.kuaiyankanshu.net
这个快眼看书,基本是无错字。笔趣阁的源全是错字,少字,没啥意义。
小星学破解 发表于 2019-10-5 08:52
SummerSui 发表于 2019-10-5 08:29

    c=word.replace(r"\xa0\xa0\xa0\xa0","")
    c=c.replace(r"'\r',","\n")

大佬试试快眼看书,这个书源基本是无错字的。比笔趣阁,好用,如果能做出一键下载,或者预览工具,就更好了
光年之外 发表于 2019-10-5 08:55
谢谢分享
ghoob321 发表于 2019-10-5 09:00
初学的可以看看
ghoob321 发表于 2019-10-5 09:20
本帖最后由 ghoob321 于 2019-10-5 09:48 编辑
\xa0

是什么东东?print 才发现
SummerSui 发表于 2019-10-5 23:12
小星学破解 发表于 2019-10-5 08:52
大佬试试快眼看书,这个书源基本是无错字的。比笔趣阁,好用,如果能做出一键下载,或者预览工具,就更好 ...

我看了看那个网站,目前我时间不充裕,之后有空写好回复你
随梦期初 发表于 2019-10-6 08:52
小星学破解 发表于 2019-10-5 08:52
大佬试试快眼看书,这个书源基本是无错字的。比笔趣阁,好用,如果能做出一键下载,或者预览工具,就更好 ...

快眼看书好几个网站。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 00:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表