实用爬虫-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

四、运行结果:

图片截图:

版权声明:本文为xpwi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xpwi/p/9873468.html