| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 124 人关注过本帖
标题:如何用VFP将《仙道九绝》小说爬下来?
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:856
专家分:3
注 册:2018-1-4
结帖率:97.45%
收藏
 问题点数:20 回复次数:7 
如何用VFP将《仙道九绝》小说爬下来?
如何用VFP将《仙道九绝》小说爬下来?
网址:https://www.
要求:1. 将小说各章节完整爬下来;
     2. 将小说正文完整爬下来。
请高手赐教,万分感谢!!!(主要是学习代码的编写)
搜索更多相关主题的帖子: 编写 代码 VFP com 学习 
昨天 13:48
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:314
专家分:2302
注 册:2023-6-29
收藏
得分:0 
这种html的都简单, 唯一复杂点的是canvas, 必须截图,然后ocr
7 小时前
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10849
专家分:43464
注 册:2014-5-20
收藏
得分:0 
以下是引用王咸美在2025-11-16 13:48:05的发言:

主要是学习代码的编写)

参考上一贴基本思路就有了,学习代码的编写主要是动手写代码,写到哪有什么问题可以提出共同探讨。
这类问题主要是获取网页内容,方法有多种,可视实际情况而定。
还要理解一下 HTML 文件的结构和常用几个标签的含义。
本论坛 vfp 版块也有不少贴讨论类似的问题,如搜索“网页”等。

7 小时前
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10849
专家分:43464
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
DECLARE long URLDownloadToFileA  IN urlmon  long,string,string,long,long
DECLARE long DeleteUrlCacheEntry IN wininet string
dom = CREATEOBJECT("htmlfile")
    * 获取内容(示例只取第一章内容,其他章节类推)
content = getContent("https://www./10070880/10116202.html")
    * 显示内容
tmpFile = "C:\_temp\content.txt"
STRTOFILE(content, tmpFile)
MODIFY FILE (tmpFile)
DELETE FILE (tmpFile)
CLEAR ALL
RETURN

FUNCTION getContent(url)
    LOCAL cHtml,titles, content
        * 取网页 
    cHtml = STRCONV(getHtml(url), 11)
        * 载入网页解析
    dom.write(cHtml)
        * 取标题
    titles = dom.getElementsByTagName("h1")
    content = ""
    FOR EACH title IN titles
        IF title.classname == "title"
            content = title.innertext + 0h0D0A0D0A
            EXIT 
        ENDIF 
    ENDFOR
        * 取第一页内容
    content = content + dom.getElementById("content").innertext + 0h0D0A0D0A
    dom.close
        * 取第二页内容
    url = JUSTPATH(url)+ "/" + JUSTSTEM(url) + "_2.html"
    cHtml = STRCONV(getHtml(url), 11)
    dom.write(cHtml)
    content = content + dom.getElementById("content").innertext + 0h0D0A0D0A
    dom.close
    RETURN content
ENDFUNC 

FUNCTION getHtml(url)
    LOCAL tmpHtml
    tmpHtml = "C:\_temp\tmp.html"    && 临时文件
    DeleteUrlCacheEntry(url)
    IF URLDownloadToFileA(0, url, tmpHtml, 0, 0)==0
        ret = FILETOSTR(tmpHtml)
        DELETE FILE (tmpHtml)
        RETURN ret
    ENDIF
    ? "下载 " + url + " 失败"
    RETURN ""
ENDFUNC
5 小时前
王咸美
Rank: 1
等 级:新手上路
帖 子:856
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!谢谢🙏
4 小时前
王咸美
Rank: 1
等 级:新手上路
帖 子:856
专家分:3
注 册:2018-1-4
收藏
得分:0 
@吹水佬 我想全部下载下来,上述代码如何改?还请赐教!谢谢!!!(新手,水平有限)
4 小时前
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10849
专家分:43464
注 册:2014-5-20
收藏
得分:0 
以下是引用王咸美在2025-11-17 12:28:57的发言:

@吹水佬 我想全部下载下来,上述代码如何改?还请赐教!谢谢!!!(新手,水平有限)

每章的网页地址这个能找得到吧?
看看有什么规律
没见到有第22章?



2 小时前
王咸美
Rank: 1
等 级:新手上路
帖 子:856
专家分:3
注 册:2018-1-4
收藏
得分:0 
确实没见到第22章
2 小时前
快速回复:如何用VFP将《仙道九绝》小说爬下来?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018389 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved