爬取电影天堂资源并实现下载视频资源

网址分析:

爬取电影天堂资源并实现下载视频资源_第1张图片

使用的工具包:

爬取电影天堂资源并实现下载视频资源_第2张图片

调用迅雷下载逻辑:

def down_move(url):
    # 启动迅雷下载
    # 传入两个参数:path和下载连接
    os.system("D:\程序\Program\Thunder.exe -StartType:DesktopIcon \"%s\"" % url)

 

主函数:

 

# _*_ coding:utf-8 _*_
# Author:liu
import requests
import re
import urllib
import base64
import os
import threading

'''
    爬取电影天堂的电影连接并下载
'''


# http://www.ygdy8.net/html/gndy/oumei/list_7_2.html
# 下载页面
# http://www.ygdy8.net/html/gndy/dyzz/20180314/56482.html




def down_move(url):
    # 启动迅雷下载
    # 传入两个参数:path和下载连接
    os.system("D:\程序\Program\Thunder.exe -StartType:DesktopIcon \"%s\"" % url)


def main():
    num = int(input("请输入页数:"))
    # 循环产生网址
    for page in range(1, num + 1):
        # 网址
        url = 'http://www.ygdy8.net/html/gndy/oumei/list_7_' + str(page) + '.html'
        # 得到网页源代码
        html = requests.get(url)
        # 指定编码
        html.encoding = 'gb2312'
        # 提取网页源码中的下一页的网址信息
        # http://www.ygdy8.net
        # /html/gndy/dyzz/20180314/56482.html
        # 得到 电影网址
        dy_data = re.findall('', html.text)  # 返回的列表
        # 循环拼接电影网址
        for m in dy_data:
            # 拼接网址
            xq_url = 'http://www.ygdy8.net' + m
            # 得到详情页的网页源代码
            html2 = requests.get(xq_url)
            html2.encoding = 'gb2312'
            try:
                # 提取下载链接
                dy_link = re.findall('.*?', html2.text)[0]
                # print(dy_link)
                # 拼接下载连接
                dy_link = 'AA' + dy_link + 'ZZ'
                dy_link = dy_link.encode()
                QutoUrl = urllib.request.quote(dy_link)
                downurl = "thunder://" + (base64.b64encode(QutoUrl.encode())).decode()
                print(downurl)
                # 开启线程调用迅雷下载资源
                down_thread = threading.Thread(target=down_move, args=(downurl,))
                # 开启线程
                down_thread.start()


            except Exception as e:
                print('数据有误', e)

    print('添加下载任务完成')


if __name__ == '__main__':
    main()

 

刚转到python3.x上来,在爬虫这方面遇到了许多关于urllib和urllib2的问题,下面简单的介绍一下分别对应的不同的模块:

 

python2.x中使用:urllib和urllib2两个库

python3.x中使用:urllib库

python2.x中的import urllib2 对应python3.x中的import urllib.request,urllib.error;

python2.x中的的import urllib 对应python3.x中的import urllib.request, urllib.error, urllib.parse;

python2.x中的import urlparse 对应python3.x中的import urllib.parse;

python2.x中的import urlopen 对应python3.x中的 import urllib.request.urlopen;

python2.x中的import urlencode 对应python3.x中的import urllib.parse.urlencode;

python2.x中的import urllib.quote 对应python3.x中的import urllib.request.quote;

python2.x中的cookielib.CookieJar 对应python3.x中的http.CookieJar;

python2.x中的urllib2.Request对应python3.x中的urllib.request.Request;

 

<以后大家有啥问题尽管提出来一起探讨>

 

你可能感兴趣的:(爬虫)