编程论坛
注册
登录
编程论坛
→
VFP论坛
如何将"新浪热榜”新闻标题下载下来
王咸美
发布于 2025-11-09 08:59, 666 次点击
如何将"新浪热榜”新闻标题下载下来?请高手赐教,万分感谢!
只有本站会员才能查看附件,请
登录
7 回复
#2
yiyanxiyin
2025-11-09 14:34
学习一下爬虫技术 有一整套方案和可行办法
#3
nbwww
2025-11-09 16:20
一种办法是解析HTML 截取想要的
一种是分析一下从API下载JSON中取得,网址里面时间戳是动态的 https://feeds.*%22%2C%22timestamp%22%3A1762675903947%2C%22net%22%3Anull%2C%22channel%22%3A%22131250%22%7D&cateid=1o&zhiding=1&tm=1489716199&filters=url%2Cwapurl%2Cthumbs%2Cthumbscount%2Ctitle%2Cintro%2Cstyle%2Cmedia%2Ctype%2Cvideos%2Cpicscount%2Cdataid%2Cshowtags%2Ccommentcount
#4
王咸美
2025-11-10 14:09
怎么把新闻标题爬下来,VFP代码如何写?难度可能较大,还请高手赐教!
#5
sam_jiang
2025-11-11 11:22
爬哪个标题?
下面这些吗?
只有本站会员才能查看附件,请
登录
#6
王咸美
2025-11-11 12:04
对!
#7
sam_jiang
2025-11-11 14:29
效果图:
只有本站会员才能查看附件,请
登录
只有本站会员才能查看附件,请
登录
代码如下:
程序代码:
*
!
*
本程序用来向新浪新闻抓取"时尚热榜"的标题列表
*
!
*
*
!
*
首先要先上网浏览准备抓取的网页,查看它的源代码,
*
!
*
*
!
*
看看标题列表在哪个地方
*
!
*
CLEAR
ohttp
=
CREATEOBJECT("WinHttp.WinHttpRequest.
5.1
")
ohttp.
Open
("get","https:
//
news.
/
")
ohttp.Send()
cstr
=
STRCONV(ohttp.ResponseBody,
11
)
&&
将utf
-
8编码的字符串转换成双字节
npos
=
AT_C("时尚热榜",cstr)
&&
记录时尚热榜在字符串中的位置
*
!
*
注意到所有的标题列表包裹在
<
ul
>
里面
*
!
*
i
=
1
DO
WHILE
.t.
npos_ul
=
AT_C("
<
ul",cstr,i)
IF
npos_ul
<
npos
&&
如果在时尚热榜之前,则不是我们要找的
i
=
i
+
1
loop
ELSE
EXIT
ENDIF
ENDDO
cfindstr
=
STREXTRACT(cstr,"
<
ul","
</
ul
>
",i)
*
!
*
?cfindstr 调试查看内容是否正确
*
!
*
查看每个标题前后的标签是否有规律,发现是包含在k"
>
和
</
a
>
之间
*
!
*
DO
WHILE
.t.
cnewstitle
=
STREXTRACT(cfindstr,
'
k">
'
,
[
</a>
]
,
1
)
IF
EMPTY(cnewstitle)
EXIT
ELSE
?cnewstitle
&&
查看输出的内容
cfindstr
=
STRTRAN(cfindstr,
'
k">
'
+
cnewstitle
+
[
</a>
]
,"")
&&
去掉已经搜索到的内容
loop
ENDIF
ENDDO
RELEASE ohttp
#8
王咸美
2025-11-11 17:30
谢谢!谢谢🙏
1