首页 > 其他分享 >005爬虫之获取电影天堂必看热片电影的下载地址

005爬虫之获取电影天堂必看热片电影的下载地址

时间:2022-12-04 16:26:28浏览次数:40  
标签:热片 提取 必看 url 电影 child 源代码 页面

今天还是继续用正则表达式提取电影天堂电影的下载地址,这里有一点不同的是需要先获取主页面的源代码,然后通过解析主页源代码再获取子页面的源代码,最后通过解析子页面的源代码获取电影的下载地址。
还是按照思路编写:

1.提取到主页面中的每一个电影的背后的那个url地址
    1.1 拿到“2022必看热片”那一部分的HTML代码
    1.2 从刚才拿到的HTML代码中提取到href的值
2.访问子页面,提取电影的名称及下载地址
    2.1 拿到子页面的页面源代码
    2.2 数据提取

网页的信息截图:

经过爬取后数据的结果:

下面是详细的代码,里面有相关的注释,里面有几个关键的知识点大家可以细细的揣摩一下,比如:urljoin,obj.search()。下面是详细的代码,有什么不懂的可以直接在下面留言。最后建议大家自己敲的时候不要一次性全部敲完,每编写一步进行验证:

"""
1.提取到主页面中的每一个电影的背后的那个url地址
    1.1 拿到“2022必看热片”那一部分的HTML代码
    1.2 从刚才拿到的HTML代码中提取到href的值
2.访问子页面,提取电影的名称及下载地址
    2.1 拿到子页面的页面源代码
    2.2 数据提取
"""
import requests
import re
from urllib.parse import urljoin  # 进行url拼接

url = "https://www.dy2018.com/"
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
}

resp = requests.get(url, headers=headers)
resp.encoding = "gbk"
pageSource = resp.text

# 1,拿到“2022必看热片”那一部分的HTML代码
obj = re.compile(r'2022必看热片.*?<ul>(?P<html>.*?)</ul>', re.S)
html = obj.search(pageSource)
source2 = html.group("html")

# 2. 提取a标签中href的值
obj1 = re.compile(r"href='(?P<href>.*?)' title=.*?《(?P<moviename>.*?)》")
result1 = obj1.finditer(source2)

# 3.获取电影完整的下载链接
obj2 = re.compile(r'<div id="downlist"  style="display:none">.*?<a href="(?P<href1>.*?)">', re.S)
for item in result1:
    moviename = item.group("moviename")
    # 获取下载页面的访问页面,这里拼接网页可以使用urljoin,也可以使用直接拼接,这里推荐用urljoin
    child_url = urljoin(url, item.group("href"))
    # child_url = url.strip("/") + item.group("href")  # 也可以进行拼接
    # print(moviename, child_url)

    child_resp = requests.get(child_url)
    child_resp.encoding = "gbk"
    # 获取子页面的源代码
    pageSource1 = child_resp.text

    # 获取子页面中电影的下载地址
    result2 = obj2.search(pageSource1)
    href1 = result2.group("href1")
    print(moviename, href1)

标签:热片,提取,必看,url,电影,child,源代码,页面
From: https://www.cnblogs.com/stone-wei/p/16950040.html

相关文章

  • 004爬虫之获取豆瓣TOP250电影数据
    今天我们继续通过正则表达式解析页面源代码,获取的网页为豆瓣TOP250,具体网址为:https://movie.douban.com/top250今天的主要思路:1、获取网页源代码;2、通过正则表达式解析......
  • 20221203【第一封信】【第一次去猫咖】【第二场电影】
    【第一封信】【一起看的第二场电影】《名侦探柯南:万圣节的新娘》【中午】九亩地,挺好吃的感觉,比什么鬼潮汕潮发,陈记顺和好【第一次去猫咖】......
  • 5大CSS重点、难点、易错点总结,入门学前端必看
    最近跟粉丝同学反馈,CSS中知识点多,在学习过程中,学到后边忘记前面。有些相似的内容很容搞混,弄得自己学起来特别的吃力和头痛。要对这些容易搞混点的做好区分,最好的办法就是把......
  • 【Python】【爬虫】爬取豆瓣电影评分
    importrequestsimportreimportcsvurl="https://movie.douban.com/top250"headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537......
  • R语言逐步回归、方差anova分析电影市场调查问卷数据可视化
    全文链接:http://tecdat.cn/?p=30680原文出处:拓端数据部落公众号这是一份有关消费者对电影市场看法及建议的调查报告,我们采取了问卷调查法,其中发放问卷256份,回收有效问卷2......
  • 个人准备看的电影
    2000年代1.指环王2.千与千寻3.忠犬八公的故事4.机器人总动员5.鬼子来了6.神秘博士.时间冲撞7.人体内旅行8.夏目友人账9.IT狂人说明书10.星际穿越11.女子宿舍12......
  • 外媒推荐:科技创业者必看的十部经典电影
    站长之家(CHINAZ.com)1月31日编译:或好或坏,艺术模仿生活,反之亦然。一部好的电影总能在不经意间打动观看者,给人以激励与启发。在本文中,就有国外媒体推荐的十部创业者必看电影,这......
  • acwing 103. 电影
    莫斯科正在举办一个大型国际会议,有n个来自不同国家的科学家参会。每个科学家都只懂得一种语言。为了方便起见,我们把世界上的所有语言用1到1e9间的整数编号。电影院里......
  • Python对豆瓣电影Top250并进行数据分析并可视化
    数据获取翻页操作观察可知,我们只需要修改start参数即可headers字段headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫通过headers中的User-A......
  • 新手必看,Mac系统“多桌面”功能的使用
    我们平时使用电脑办公或学习的时候,会用到各种各样的APP和文件资料,如果APP和资料比较多,同时都打开的话,一大堆的窗口会把整个电脑屏幕排的“满满当当”的,看上去很凌乱,而且切......