热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

爬虫爬取html5页面上的视频是怎样的一种处理方式的

以这个为例:http://www.imooc.com/video/10903在f12时候可以看到这一串信息

以这个为例:http://www.imooc.com/video/10903
在f12时候可以看到这一串信息



1

但在我处理页面的时候都没发现有这链接

这页面需要登入之后才能看,我已经处理了登入程序,可以正常登入,但在用session.get这页面时候,找不到上面的链接信息。



以下是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
from bs4 import BeautifulSoup

import requests

import configparser

import json

imooc_url = r'http://www.imooc.com'

login_session = requests.session()

headers = {

            "Accept":"application/json, text/Javascript, */*; q=0.01",

            "Accept-Encoding":"gzip, deflate",

            "Accept-Language":"zh-CN,zh;q=0.8",

            "Connection":"keep-alive",

            "Host":"www.imooc.com",

            "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36",

            "X-Requested-With":"XMLHttpRequest"

        }





class imoocLogin(object):

    def __init__(self,configfile):

        self.loginurl = r'http://www.imooc.com/passport/user/login'



        cOnfig= configparser.ConfigParser()

        config.read(configfile)

        cOnfigname= 'imooc'

        self.username = config.get(configname,'username')

        self.password = config.get(configname,'password')





    def startLogin(self):

        login_text = requests.get(imooc_url).text

        login_soup = BeautifulSoup(login_text,'lxml')

        verify = login_soup.find_all('img',class_="verify-img")

        print "verify: %s" %verify

        if verify:

            for verify_data in verify:

                verify_data = verify_data.get('src')

                verify_url = imooc_url+verify_data

                print verify_url

                verify_data = raw_input('input verify:')

                login_data = {

                    "username":self.username,

                    "password":self.password,

                    "remember":'1',

                    "verify":verify_data,

                    "referer":"http://www.imooc.com"

                }

        else:

            login_data = {

                "username":self.username,

                "password":self.password,

                "remember":"1",

                "referer":"http://www.imooc.com"

            }

        print 'ddddddddddddd'

        s_login = login_session.post(self.loginurl,data=login_data,headers=headers)

        print 'wwwwwwwwwwwwww'

        print(s_login)

        print s_login.json()

        print type(s_login.json())



        for k,v in s_login.json().items():

            print k,v

        # print json.dump(s_login.json(),indent=4,sort_keys=True)







if __name__=='__main__':

    abc_url = r'http://www.imooc.com/video/10903'

    user_url = r'http://www.imooc.com/u/1322083/courses'

    loginPro = imoocLogin('config.ini')

    loginPro.startLogin()

    video_url = login_session.get(abc_url,headers=headers).text

    video_soup = BeautifulSoup(video_url,'lxml')

    print video_soup

html5页面上的东西是不是还需要其他的处理的?搞不懂为咋获取不到的。


   



推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 1.Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
author-avatar
JieGe木
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有