美文网首页linux运维
python爬虫-11-用python爬取视频网站电影天堂中每一

python爬虫-11-用python爬取视频网站电影天堂中每一

作者: 运维家 | 来源:发表于2022-05-29 18:50 被阅读0次

    使用之前所学内容,来爬取电影天堂中的相关信息吧,可以爬取下载地址,简介等,一次性看电影看个够。

    1、爬取流程梳理

    需求,使用python代码爬取电影天堂中,最新影片中的前5页下的,每一个电影的下载地址和相关介绍,包括但不限于:主演、国家、视频简介等内容。

    (1)整体定位

    爬取的页面内容为多个该页面下的电影,示例如下:

    (2)范围定位

    那么我们在定位到每个电影中,示例如下:

    (3)大致定位

    获取页面中和对应电影有关的内容:

    (4)准确定位

    就是该页面中电影中的每个信息都需要。

    2、代码书写

    我们不是需要爬取5页的数据嘛,我们先从第一页入手,然后爬取第一页的第一个视频的相关信息,如果能爬出来,那么后面无非就是添加循环,然后多次请求罢了。

    (1)整体定位

    爬取第一页,代码如下:

    # 导入模块
    import requests
    from lxml import etree

    # 请求头
    Headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
        'Referer': 'https://www.ygdy8.net/html/gndy/dyzz/index.html'
    }

    # 请求第一页
    One_Url = 'https://www.ygdy8.net/html/gndy/dyzz/list_23_1.html'
    Requ = requests.get(url=One_Url, headers=Headers)
    Text = Requ.content.decode('gbk')
    print(Text)

    这里我们获取的是第一页的相关信息,输出结果如下:

    (2)范围定位

    就是我们需要爬取第一页的所有电影的Url,然后访问那个Url,从而获取里面的数据,代码如下:

    # 导入模块
    import requests
    from lxml import etree

    # 请求头
    Headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
        'Referer': 'https://www.ygdy8.net/html/gndy/dyzz/index.html'
    }

    Base_Url = 'https://www.ygdy8.net'

    # 请求第一页
    One_Url = 'https://www.ygdy8.net/html/gndy/dyzz/list_23_1.html'
    Requ = requests.get(url=One_Url, headers=Headers)
    Text = Requ.content.decode('gbk')
    # print(Text)

    # 获取中间部分视频的url
    Html = etree.HTML(Text)
    One_Page = Html.xpath("//div[@class='co_content8']//a")
    print(One_Page)

    # 获取每个url,并轮训请求
    for Details_Url in One_Page:
        Href = Details_Url.xpath("@href")[0]
        print(Href)
        # 找到以“/”开头的
        if Href.startswith('/'):
            Detail_Url = Base_Url + Href
            One_Detail = requests.get(url=Detail_Url, headers=Headers)
            print(One_Detail.content.decode('gbk'))
        # 只允许请求一次
        break

    输出内容如下:

    (3)大致定位

    就是定位到我们详情页中的中间内容,代码如下:

    # 导入模块
    import requests
    from lxml import etree

    # 请求头
    Headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
        'Referer': 'https://www.ygdy8.net/html/gndy/dyzz/index.html'
    }

    Base_Url = 'https://www.ygdy8.net'

    # 请求第一页
    One_Url = 'https://www.ygdy8.net/html/gndy/dyzz/list_23_1.html'
    Requ = requests.get(url=One_Url, headers=Headers)
    Text = Requ.content.decode('gbk')
    # print(Text)

    # 获取中间部分视频的url
    Html = etree.HTML(Text)
    One_Page = Html.xpath("//div[@class='co_content8']//a")
    # print(One_Page)

    # 获取每个url,并轮训请求
    for Details_Url in One_Page:
        Href = Details_Url.xpath("@href")[0]
        # print(Href)
        # 找到以“/”开头的
        if Href.startswith('/'):
            Detail_Url = Base_Url + Href
            One_Detail = requests.get(url=Detail_Url, headers=Headers)
            One_Detail_Html = One_Detail.content.decode('gbk')
            # print(One_Detail.content.decode('gbk'))
            Detail_Html = etree.HTML(One_Detail_Html)
            Detail_Content = Detail_Html.xpath("//div[@id='Zoom']")[0]
            print(etree.tostring(Detail_Content).decode('utf-8'))

        # 只允许请求一次
        break

    输出内容如下:

    (4)准确定位

    那就是定位每一个参数了,代码如下:

    剩余内容请转至VX公众号 “运维家” ,回复 “173” 查看。

    ------ “运维家” ,回复 “173”  ------

    ------ “运维家” ,回复 “173”  ------

    ------ “运维家” ,回复 “173”  ------

    在Linux中的命令,linux实时线程,linux中tail,如何调用linux的epoll,linux无故多出很多进程,linux怎么打开xls文件,linux怎样用命令打开软件,程序员要不要装linux系统,LINUX通用链表实例;

    usb无法安装linux,类似安卓linux,在linux中压缩解压命令,512老电脑linux,linux中退出根目录,linux自定义自启的脚本,linux管理员用户名是,新装的linux网卡配置,linux修改u盘权限失败,c语言linux下开发软件。

    相关文章

      网友评论

        本文标题:python爬虫-11-用python爬取视频网站电影天堂中每一

        本文链接:https://www.haomeiwen.com/subject/knzgprtx.html