精易论坛

标题: [我的爬虫日记01]爬虫获取豆瓣网Top250 [打印本页]

作者: 易飞鸟    时间: 2024-10-29 20:01
标题: [我的爬虫日记01]爬虫获取豆瓣网Top250
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
url_all文本型0
i整数型 
电影名文本型 
' 第一页https://movie.douban.com/top250?start=0
' 第二页https://movie.douban.com/top250?start=25
' 第三页https://movie.douban.com/top250?start=50
fputs (1, “开始获取...”#换行符 )
取全部详情页链接 (“https://movie.douban.com/top250”, url_all)
.for (1, GetAryElementCount (url_all), 1, i)
fputs (1, url_all [i]#换行符 )
取影片信息 (url_all [i])
.next ()
fputs (1, “获取完成!”#换行符 )
fgets ()
return (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
取全部详情页链接整数型 
参数名类 型参考可空数组备 注
url文本型
url_all文本型
变量名类 型静态数组备 注
html_str文本型 
grid_view_str文本型 
url_arr文本型0
i整数型 
page整数型 
full_url文本型 
.for (1, 250, 25, page)
' 取网页源码并转码
full_url = url + “?start=”str (page)
html_str = HttpRequestRetText (url, 0, , , , , , , , , )
html_str = Utf8ToGb2312 (html_str)
' 获取中间链接列表数据
grid_view_str = GetMidText (html_str, #left_grid_view, #right_grid_view, , )
GetMidText_批量 (grid_view_str, #left_a, #right_a, url_arr, , , , , , , )
.for (1, GetAryElementCount (url_arr), 1, i)
AddElement (url_all, url_arr [i])
.next ()
.next ()
return (0)
子程序名返回值类型公开备 注
取影片信息  
参数名类 型参考可空数组备 注
url文本型
变量名类 型静态数组备 注
html_str文本型 
电影名文本型 
年份文本型 
导演文本型 
attrs_html文本型 
主演数组文本型0
i整数型 
类型数组文本型0
地区文本型 
语言文本型 
评分文本型 
' ===============获取===================
html_str = HttpRequestRetText (url, 0, , , , , , , , , )
html_str = Utf8ToGb2312 (html_str)
电影名 = GetMidText (html_str, #left_电影名, #right_电影名, , )
年份 = GetMidText (html_str, #left_年份, #right_年份, , )
导演 = GetMidText (html_str, #left_导演, #right_导演, , )
' 主演
GetMidText_批量 (html_str, #left_主演, #right_主演, 主演数组, , , , , , , )
' 类型
GetMidText_批量 (html_str, #left_类型, #right_类型, 类型数组, , , , , , , )
地区 = GetMidText (html_str, #left_地区, #right_地区, , )
语言 = GetMidText (html_str, #left_语言, #right_语言, , )
评分 = GetMidText (html_str, #left_评分, #right_评分, , )
' ===============打印===================
fputs (1, “电影名:” + 电影名 + #换行符 )
fputs (1, “年份:” + 年份 + #换行符 )
fputs (1, “导演:” + 导演 + #换行符 )
fputs (1, “主演:”)
.for (1, GetAryElementCount (主演数组), 1, i)
.ife (i < 3)
fputs (1, 主演数组 [i]“/”)
break ()

.next ()
fputs (1, #换行符 )
fputs (1, “类型:”)
.for (1, GetAryElementCount (类型数组), 1, i)
.ife (i < 3)
fputs (1, 类型数组 [i]“/”)
break ()

.next ()
fputs (1, #换行符 )
fputs (1, “地区:” + 地区 + #换行符 )
fputs (1, “语言:” + 语言 + #换行符 )
fputs (1, “评分:” + 评分 + #换行符 )
fputs (1, #换行符 )


爬取豆瓣top250.rar (353.28 KB, 下载次数: 22)





作者: bianyuan456    时间: 2024-10-29 22:14
已经顶贴,感谢您对论坛的支持!
作者: renhe2018    时间: 2024-10-29 23:24
支持,厉害。
作者: 学E到老    时间: 2024-10-30 00:04
你为什么要用英文 看着好怪
作者: 396384183    时间: 2024-10-30 00:16
感谢您对论坛的支持!
作者: 广西彭于晏    时间: 2024-10-30 03:42
搞复杂了
作者: pipicool    时间: 2024-10-30 04:28
学习一下
作者: 查过    时间: 2024-10-30 07:10
感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2024-10-30 07:14
已经顶贴,感谢您对论坛的支持!
作者: qwe111qwe    时间: 2024-10-30 08:03
感谢分享!!!!
作者: tangible酱    时间: 2024-10-30 08:33
感谢你的支持,精易有你更精彩
作者: 阿凡地方23    时间: 2024-10-30 08:40
学习一下

作者: 胖子葛格    时间: 2024-10-30 08:51
感谢大神分享~!
作者: zhongzutao    时间: 2024-10-30 09:17
能实现下载功能吗?
作者: wh1234567    时间: 2024-10-30 09:25
感谢分享。。。
作者: 一指温柔    时间: 2024-10-30 09:33
感谢分享
作者: pshq123    时间: 2024-10-30 09:44

作者: wjswzj0    时间: 2024-10-30 10:10
感谢分享,很给力!~
作者: ctry78985    时间: 2024-10-30 11:20
感谢分享
作者: 凌伤    时间: 2024-10-30 11:45
感谢大神分享~!
作者: jysoft2022    时间: 2024-10-30 14:07
感谢分享
作者: mood1000    时间: 2024-10-30 17:55
运行了没反应
作者: 光影魔术    时间: 2024-11-6 19:02
感谢分享源码
作者: 熊不熊    时间: 2024-12-4 05:53
感谢分享,很给力!~
作者: sunerle    时间: 2025-1-9 12:50





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4