Python爬取电影天堂资源

#这里的requests,re,urllib库是python自带的,lxml是通过pip下载的

from urllib import request,parse

from lxml import etree

import requests,re
  • 步骤一:先爬取电影名和电影名相对应的详情链接

url1 = "https://www.dytt8.net/index0.html"

req1 = request.Request(url1)  

response1 = request.urlopen(req1) 

html1 = response1.read()          

content1 = etree.HTML(html1)

#电影名列表

name_list = content1.xpath('//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[2]/div[2]/ul/table/tr/td[1]/a[2]/text()')

#详情链接列表

lianjie_list = content1.xpath('//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[2]/div[2]/ul/table/tr/td[1]/a[2]/@href')

#详情链接列表

for m in range(len(lianjie_list)):
    lianjie_list[m] = "https://www.dytt8.net"+lianjie_list[m]

  • 步骤二:以下由此链接list作为一个url的list,依次爬取

ftps=[]​​​​​​​
for i in lianjie_list:
    url = i
    req = request.Request(url)  
    response = request.urlopen(req)     
    html = response.read()          
   

    #这里我是先将二进制的html存入txt里,然后利用正则表达式去匹配该文本
    f = open("1.txt","wb")
    f.write(html)
    f.close()

    f = open("1.txt","r")
    st=f.read()
    rule_name =r'<a href="(.*?).mkv">'
    compile_name = re.compile(rule_name, re.M)
    res_name = compile_name.findall(st)
    ftps += res_name

#最后将电影名和对应的下载链接放进一个字典里,然后输出,简洁明了

dic = dict(map(lambda x,y:[x,y],name_list,ftps))
for k in dic:
    print(k+": \n"+dic[k]+".mkv")

print("Download Over!")

附上输出图

Python爬虫用于从网站抓取数据非常常见,特别是像电影天堂这样的影视资源站点。不过,由于版权和隐私法规,直接提供实际的源代码或者鼓励违法活动并不合适。我可以给你提供一个基本的Python爬虫框架,如使用`requests`库获取网页内容,然后`BeautifulSoup`解析HTML结构来提取电影信息,但这需要你自己运行并且遵守相关规定。 这是一个简单的示例,展示如何使用Scrapy或BeautifulSoup进行基础的网络请求和HTML解析: ```python import requests from bs4 import BeautifulSoup def get_hot_movies(url): # 发送GET请求 response = requests.get(url) # 检查请求是否成功(状态码200) if response.status_code == 200: # 解析HTML内容 soup = BeautifulSoup(response.text, 'html.parser') # 找到包含电影信息的部分(这通常依赖于页面结构,这里假设是列表项) movie_elements = soup.find_all('div', class_='movie-item') or soup.select('.movie-item') movies = [] for element in movie_elements: title = element.find('h3').text.strip() link = element.find('a')['href'] # ...其他可能的字段,如导演、演员等 movies.append({'title': title, 'link': link}) return movies else: print(f"Failed to fetch the page, status code: {response.status_code}") # 替换为电影天堂的URL url = "http://www.example.com/movie_torrents" # 注意这是模拟,替换为实际地址 hot_movies = get_hot_movies(url) for movie in hot_movies: print(f'Title: {movie["title"]}, Link: {movie["link"]}') ``` 请注意,这只是一个基础模板,实际的网页结构可能会有所不同,你需要查看目标网站的HTML来定位正确的元素。同时,使用爬虫时应尊重网站的robots.txt规则,并确保不会对服务器造成过大的负担。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值