鱼C论坛

 找回密码
 立即注册
查看: 1120|回复: 3

萌新求助!!!小说爬取失败!!!

[复制链接]
发表于 2021-9-26 09:17:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
80后没什么文化。上班之余打游戏看看小说。
看见网上教程学习了一下,搞的下小说的。

可以下载一本小说。为什么换一本书就下不了啦?

import requests
import parsel
import time
import tqdm
from tqdm import tqdm

url = 'https://www.shuquge.com/txt/9832/index.html'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
           'cookie': 'BIDUPSID=45588421F978DE2902A1A47464D72AB3; PSTM=1609986056; BAIDUID=45588421F978DE29E3D21BB7BB5A6873:FG=1; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; __yjs_duid=1_e3607a56e43709e2ca3db4147c46396a1612784778582; BAIDUID_BFESS=45588421F978DE29E3D21BB7BB5A6873:FG=1; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1614696427; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1614697139; __yjsv5_shitong=1.0_7_253e552513b2cf371866473b2e57fb4e5137_300_1614697145680_59.50.85.17_fe15699c; ab_sr=1.0.0_ZDRiZDU1NjAzNjRkMDUyOWE3ZTg3MWZlMjRhMGE4NzkwYmI3N2ExMzliMjY3MjIxOGIyY2EyMmMxNWQzOWFmY2UyZDZjMGFkYzVjNWZkNGQ1ZWIxMTJmYjZjM2Y0M2M2'
           }
#  获取网页数据

def get_html(url):

    yuanma = requests.get(url)
    yuanma.encoding = yuanma.apparent_encoding  # 自动解决编码问题
    yuanma = parsel.Selector(yuanma.text)
    return yuanma                               #  rerurn定义返回值。把yuanma返回。

#  获取章节内容
def get_zjlr(url):
    yuanma = get_html(url)
    zhangjie = yuanma.css('div.content > h1::text').get()
    neiron = yuanma.css('#content::text').getall()
    return zhangjie,neiron


#  保存内容
def get_baocun(shumin,zjm,neiron):
    with open(shumin + '.txt',mode='a',encoding='utf-8') as f:
        f.write(zjm + '\n')
        for con in neiron[:-3]:
            f.write(con.replace('\xa0',"")+'\n')
            #f.write(con.strio('\xa0'))

#  获取章节url
#def get_one_book(index_url):
yuanma = get_html(url)
zjlb = yuanma.xpath('//dl/dd/a/@href').getall()
shumin = yuanma.css('div.info > h2::text').getall()
print(type(shumin))
for i in tqdm(zjlb[12:]):
    url = 'https://www.shuquge.com/txt/9832/'+i
    zhangjie,neiron = get_zjlr(url)
    time.sleep(2)
    get_baocun(shumin[0],zhangjie,neiron)



大神帮忙指点一下啊。。
太深奥的搞不懂啊!!!!!!
谢谢!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-26 10:22:38 | 显示全部楼层
换一本之后,可能页面上html结构有变化,所以xpath可能就不准了,所以爬不到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-26 10:38:23 | 显示全部楼层
suchocolate 发表于 2021-9-26 10:22
换一本之后,可能页面上html结构有变化,所以xpath可能就不准了,所以爬不到。

麻烦问下怎么决绝啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-26 10:47:06 | 显示全部楼层
tchello 发表于 2021-9-26 10:38
麻烦问下怎么决绝啊?

观察新小说页面的html,根据其结构写新下xpath。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 00:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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