实用爬虫-03-爬取视频教程课程名+链接+下载图片
实用爬虫-03-爬取视频教程课程名+链接+下载图片
很长时间不写爬虫的学习笔记了,想到用爬虫来动态的更新数据,简单的搭一个页面的框架,加上爬虫获取数据,岂不是省了自己建库又有了优质的数据源
当然我们写爬虫不能过分的爬取,有些涉及原创的东西,最好不好私自爬取,好,政治正确哈
一、爬虫的目的:
二、注意事项:
下载图片,我是放在了 pic 目录下,需要自己创建和 Python 文件同级的目录
三、不多说,在注释上聊:
# coding:utf-8
'''
使用爬虫获取教程网站信息:
1.获取课程视频连接
2.获取课程名
3.获取图片连接,并下载图片
作者:cnblogs.com/xpwi
'''
import re, requests
# 目标地址
url = "https://www.jikexueyuan.com/course/android/?pageNum=2"
if __name__ == '__main__':
# 获取页面 html
html = requests.get(url).text
# print(html)
# 获取 title
title = re.findall("<title>(.*?)</title>", html)
print(title[0])
# 获取24门课程的链接
h2 = re.findall('<h2 class="lesson-info-h2">(.*?)</h2>', html)
h2_a = ""
for i in h2:
# 因为正则获取到的是一个数组,把每个元素合起来到一个长字符串中
h2_a = h2_a + i
name = re.findall('">(.*?)</a>', h2_a)
href = re.findall('href="//(.*?)" ',h2_a)
# print("--------课程名称-------------")
# for i in name:
# print(i)
# print("--------课程链接-------------")
# for i in href:
# print(i)
i = 0
for i in range(0, len(name)):
print('课程名:' + name[i] + '\n课程连接:' + href[i])
# 获取24张图片的链接
img_href = re.findall('<img src="(.*?)"',html)
print("--------下载图片-------------")
i = 0
for m in img_href:
# 由于没有精确匹配,并不是所有连接都是我们要的课程的连接,排出第一张图片
if m == '//e.jikexueyuan.com/headerandfooter/images/logo.png?t=1513326254000':
continue
print('正在下载:' + m)
# 爬取每个网页图片的连接
pic = requests.get(m)
# 打开 pic 同级目录【必须手动创建好】
fp = open('pic\\' + str(i) + '.jpg', 'wb')
# 写入本地文件
fp.write(pic.content)
# 目前没有想到更好的方式,暂时只能写一次,关闭一次,如果有更好的欢迎讨论
fp.close()
i += 1
四、运行结果:
图片截图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具