标题:说,某人突然想看看网络小说,于是上次复制的几行“爬虫”代码就派上了用场 ...
只看楼主
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
结帖率:100%
 问题点数:0 回复次数:6 
说,某人突然想看看网络小说,于是上次复制的几行“爬虫”代码就派上了用场……
小说的目录页有全部章节网址链接,而且是明码;
随手整理出一个download.lst,打算用迅雷“导入下载列表”,直接批量下载。
可网站似乎添加了防爬script,用迅雷之类软件无法下载。
心道:
上次不是复制过几行VFP“爬虫”嘛?
正好派上用场:

*------------------
* 网络小说爬虫.prg
* 用途:下载网络小说目录页的全部HTML链接
* URL首页 = "http://www.
* 1、解析目录页的全部链接,并insert into table URL.dbf(略)
* 2、遍历URL.dbf,逐个将网页爬下来并保存。
* 注:每爬一页,就CREATEOBJECT/RELEASE一次,琢磨着,可能有助于避免被BAN
*------------------
local lcFileName, lcURL, lcHTML
LOCAL oxhttp AS Microsoft.xmlhttp
use URL
scan
    lcFileName = trim(URL.filename)
    lcURL = trim(URL.filelink)
    oxhttp=CREATEOBJECT("Microsoft.xmlhttp")
    oxhttp.OPEN("GET", lcURL, .F.)
    oxhttp.SEND()
    lcHTML = oxhttp.responseBody
    strTofile(lcHTML, lcFileName)
    RELEASE oxhttp
endscan
return
*------------------

嘿嘿。
搞定。
收工。
收到的鲜花
  • 厨师王德榜2022-04-11 12:11 送鲜花  1朵   附言:用vfp实现爬虫,有意思
搜索更多相关主题的帖子: 代码 URL 复制 爬虫 网络 
2022-04-05 22:06
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:0 
download.lst因事先已整理好了,就偷懒没写前半段解析全部章节链接的代码。
URL.dbf大致为:
CREATE TABLE url (filelink C(50), filename C(10), OK L)
append from download.lst sdf
replace all filename with padl(alltrim(str(recno())), 4, "0") + ".htm"

OK字段是备用的,预备万一爬着爬着中途被BAN,那就加一段代码,作“断点续传”。
大概是长这样子:

http://www. | 0001.htm
http://www. | 0002.htm
http://www. | 0003.htm
……
2022-04-05 22:50
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
能把代码写全供大家分享学习吗?期盼中…
2022-04-08 11:42
cssnet
Rank: 4
等 级:业余侠客
威 望:4
帖 子:317
专家分:203
注 册:2013-10-4
得分:0 
以下是引用王咸美在2022-4-8 11:42:19的发言:
能把代码写全供大家分享学习吗?期盼中…


这就已是全部代码了啊。
download.lst是简单地用正则整理的。
正则能弄的,就没必要写代码。
如果不懂正则,那么也就没必要钻研“爬虫”了。
呵呵。

dbf.rar (13.77 KB)

2022-04-08 12:16
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
能爬回来,就是有点慢
2022-04-08 12:43
qq88881111
Rank: 1
等 级:新手上路
帖 子:12
专家分:6
注 册:2021-5-2
得分:0 
不错
2022-04-11 12:25
kangss
Rank: 4
等 级:贵宾
威 望:10
帖 子:138
专家分:237
注 册:2014-6-12
得分:0 
不懂正则。先收藏。谢谢!
2022-04-11 13:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508789-1-1.html




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

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