美文网首页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