# 【求助】抓古诗文网，地址索引已有，求python代码

**URL:** <https://forum.freemdict.com/t/topic/6749>\
**Category:** 资源求助\
**Tags:** 汉语\
**Created:** [2021 年6 月 11 日 08:24 UTC](https://forum.freemdict.com/t/topic/6749 "2021-06-11T08:24:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 11 日 08:24 UTC](https://forum.freemdict.com/t/topic/6749/1 "2021-06-11T08:24:18Z")

</div>

地址索引已有  
[gushiwen全部地址.rar](https://forum.freemdict.com/uploads/short-url/9LRzd2c10o8fNjsqpcMDN1ZM2kO.rar) (2.2 MB)  
用代码[GSW.py](https://forum.freemdict.com/uploads/short-url/1carQB07KB8pcNqoaMdVh5OQ4rr.py) (1.4 KB) （last\_idol所写）抓取，抓几百个就中断了，不知何故。

隐藏内容要抓取，最好能实现网页效果如图：

 ![00图片20210917104555](https://forumcdn.freemdict.com/uploads/default/original/2X/6/66a081ed7358799f6159e7a0851325ee4f96ec0b.png)

请诸高手帮忙看看  
@last_idol @hua @sxingbai

求能顺利抓取的python代码  
古诗文网

> **[古诗文网-古诗文经典传承](https://www.gushiwen.cn/)**
>
> 古诗文网作为传承经典的网站专注于古诗文服务，致力于让古诗文爱好者更便捷地发表及获取古诗文相关资料。

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 11 日 11:06 UTC](https://forum.freemdict.com/t/topic/6749/2 "2021-06-11T11:06:11Z")

</div>

佛陀是想要全搬？

---

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 11 日 11:15 UTC](https://forum.freemdict.com/t/topic/6749/3 "2021-06-11T11:15:01Z")

</div>

全搬更好。。

---

<div class="post-metadata">

作者： ![Mandolin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/mandolin/32/4948_2.png) [@Mandolin](https://forum.freemdict.com/u/Mandolin)\
发布日期： [2021 年6 月 11 日 16:13 UTC](https://forum.freemdict.com/t/topic/6749/4 "2021-06-11T16:13:30Z")

</div>

古诗文网是可以全文检索的，做成MDX便捷性提升不大吧

---

<div class="post-metadata">

作者： ![ad困困](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/87869e/32.png) [@ad困困](https://forum.freemdict.com/u/ad%E5%9B%B0%E5%9B%B0)\
发布日期： [2021 年6 月 16 日 02:43 UTC](https://forum.freemdict.com/t/topic/6749/5 "2021-06-16T02:43:24Z")

</div>

古诗文网是不错，全部都有注释译文赏析等，类似古诗词典都是只有原文其他全无啊  
这网站很难抓吗，看来是被难住了

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 10:25 UTC](https://forum.freemdict.com/t/topic/6749/6 "2021-06-22T10:25:14Z")

</div>

为什么上传代码或附件总是出错？

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年6 月 22 日 10:34 UTC](https://forum.freemdict.com/t/topic/6749/7 "2021-06-22T10:34:58Z")

</div>

什么错？

---

<div class="post-metadata">

作者： ![free](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/f/c5a1d2/32.png) [@free](https://forum.freemdict.com/u/free)\
发布日期： [2021 年6 月 22 日 11:25 UTC](https://forum.freemdict.com/t/topic/6749/8 "2021-06-22T11:25:05Z")

</div>

Python代码需要搞成压缩文件才可以上传附件，你看我把你网盘中的Python代码压缩之后成功上传论坛附件了：[gushiwen.py.zip](https://forum.freemdict.com/uploads/short-url/xOrHjgYHsA7C9iFp6hJpEv8oSZu.zip) (1000 字节) @sxingbai ；上传代码时，代码过长，帖子发不出来，最好上传附件

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 12:31 UTC](https://forum.freemdict.com/t/topic/6749/9 "2021-06-22T12:31:12Z")

</div>

是403错误

---

<div class="post-metadata">

作者： ![hua](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/hua/32/11090_2.png) [@hua](https://forum.freemdict.com/u/hua)\
发布日期： [2021 年6 月 22 日 12:44 UTC](https://forum.freemdict.com/t/topic/6749/10 "2021-06-22T12:44:07Z")

</div>

网页上显示什么？

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 13:07 UTC](https://forum.freemdict.com/t/topic/6749/11 "2021-06-22T13:07:54Z")

</div>

就一个403 error ，下面一个确认

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 13:17 UTC](https://forum.freemdict.com/t/topic/6749/12 "2021-06-22T13:17:33Z")

</div>

链接：[https://pan.baidu.com/s/1qpvNBPUnZt-yGaRzkRzyWA](https://pan.baidu.com/s/1qpvNBPUnZt-yGaRzkRzyWA)  
提取码：abcd  
网页中如果有js隐藏的内容，抓取时都放在这个网页之后了  
抓取时间肯定比较长，如果到最后程序没有自动停止，但不再抓取新内容了，就可以强制停了

---

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 22 日 13:23 UTC](https://forum.freemdict.com/t/topic/6749/13 "2021-06-22T13:23:46Z")

</div>

```auto
    allset=allset|errset
NameError: name 'errset' is not defined

进程已结束，退出代码为 1

```

這樣……。

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 14:00 UTC](https://forum.freemdict.com/t/topic/6749/14 "2021-06-22T14:00:16Z")

</div>

这个错误，不会呀  
不行就先把

```auto
 if os.path.exists (errfile):
        with open(errfile,'r',encoding='utf-8') as f:
            errlists=f.read().split('\n')
            errset=set(errlists)
    allset=allset|errset

```

删了再试，本来这一部分就没想太好

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 14:05 UTC](https://forum.freemdict.com/t/topic/6749/15 "2021-06-22T14:05:08Z")

</div>

嗯，学习了，多谢

---

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 22 日 14:45 UTC](https://forum.freemdict.com/t/topic/6749/16 "2021-06-22T14:45:07Z")

</div>

刪了。出現很多這樣的：

```auto
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>

```

---

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 22 日 14:59 UTC](https://forum.freemdict.com/t/topic/6749/17 "2021-06-22T14:59:08Z")

</div>

已經掛上在跑了。

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 22 日 21:08 UTC](https://forum.freemdict.com/t/topic/6749/18 "2021-06-22T21:08:22Z")

</div>

好，没多大影响，当初调试时的print函数忘删了

---

<div class="post-metadata">

作者： ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
发布日期： [2021 年6 月 23 日 07:09 UTC](https://forum.freemdict.com/t/topic/6749/19 "2021-06-23T07:09:43Z")

</div>

跑了七八个小时，结束了。这是得出的数据。JS隐藏的部分。还是没有出来 。您看看  
[gushiwen.rar](https://forum.freemdict.com/uploads/short-url/3i0MDLan6P7BMPVQvklzohDbiqc.rar) (24.8 MB)

---

<div class="post-metadata">

作者： ![sxingbai](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/919ad9/32.png) [@sxingbai](https://forum.freemdict.com/u/sxingbai)\
发布日期： [2021 年6 月 23 日 12:19 UTC](https://forum.freemdict.com/t/topic/6749/20 "2021-06-23T12:19:22Z")

</div>

![image](https://forumcdn.freemdict.com/uploads/default/original/2X/b/b529f7092735ee3cd16655a305a33e6654ee9422.png)

因为是全站，我又没额外做标记，所以清洗任务很大，得下功夫找。抓取逻辑我上面也说了，先是不完整的页面，然后在这个页面下补上前面被隐藏的内容，好像这些数据前有“未登录”的字样。

[下一页](https://forum.freemdict.com/t/topic/6749.md?page=2)
