Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法


Posted in Python onAugust 26, 2019

本文实例讲述了Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法。分享给大家供大家参考,具体如下:

做个笔记
(python 3.6,django 2.0)

def get_url(outer_order_id):
  refundId = get_refundId(outer_order_id)
  host_url = 'http://test.shequ.com/order/agreeRefund?'
  reason_list = ['商品已售完','重复订单','没有骑手接单','联系不上顾客','顾客需要重新下单']
  reason = random.choice(reason_list)
  api_data = {
    'reason':reason,
    'refundId':refundId,
    'sendType':0
  }
  url = host_url + parse.urlencode(api_data)
  return url
print(get_url('3086123456'))
http://test.shequ.com/order/agreeRefund?reason=%E9%87%8D%E5%A4%8D%E8%AE%A2%E5%8D%95&refundId=1170611&sendType=0
# -*- coding: utf-8 -*-
import urllib
from bs4 import BeautifulSoup
import re
#访问url,返回html页面
def get_html(url):
  req = urllib.request.Request(url)
  req.add_header('User-Agent','Mozilla/5.0')
  response = urllib.request.urlopen(url)
  html = response.read()
  return html
def get_movie_url(movie_name):#根据电影名称,生成搜索结果的URL
  host_url = 'http://s.dydytt.net/plus/search.php?kwtype=0&keyword='
  movie_sign = urllib.parse.quote(movie_name.encode('GBK'))
  search_url = host_url + movie_sign
  return search_url
#从搜索结果页面,提取电影的详情页面链接,存入列表返回
def get_movie_list(url):
  m_list = []
  html = get_html(url)
  soup = BeautifulSoup(html,'html.parser')
  fixed_html = soup.prettify()
  a_urls = soup.find_all('a')
  host = "http://www.ygdy8.com"
  for a_url in a_urls:
    m_url = a_url.get('href')
    m_url = str(m_url)
    if re.search(r'\d{8}',m_url) and (host not in m_url):
      m_list.append(host + m_url)
  return m_list
#从电影详情页面中获取电影标题
def get_movie_title(html):
  soup=BeautifulSoup(html,'html.parser')
  fixed_html=soup.prettify()
  title=soup.find('h1')
  title=title.string
  return title
#从电影详情页面中获取此页面所有的的下载链接
def get_movie_download_url(html):
  soup = BeautifulSoup(html,'html.parser')
  fixed_html = soup.prettify()
  td = soup.find_all('td',attrs={'style':'WORD-WRAP: break-word'})
  down_urls = []
  for t in td:
    down_urls.append(t.a.get('href'))
  return down_urls
#传入电影列表,获取每个电影的下载地址
def get_movie(movie_list):
  movie_dict = {}
  for i in range(0,len(movie_list)):
    html = get_html(movie_list[i])
    html = html.decode('GBK','ignore') #忽略编码错误
    m_title = get_movie_title(html)
    if u'游戏' not in m_title: #过滤游戏
      if u'动画' not in m_title: #过滤动画片
        m_url_list = get_movie_download_url(html)
        for m_url in m_url_list:
          movie_dict[m_url] = m_title
  return movie_dict

用django展现在页面效果如下:

Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法

另一个网站的

# -*- coding: utf-8 -*-
from xpinyin import Pinyin
from bs4 import BeautifulSoup
from urllib import request,error
import time,re
import ssl
ssl._create_default_https_context = ssl._create_unverified_context #关闭https协议验证证书
def get_html(url): #访问url,返回html页面,如果url错误,则返回状态码,一般是404
  req = request.Request(url)
  req.add_header('User-Agent','Mozilla/5.0')
  try:
    response = request.urlopen(url)
    html = response.read()
    return html
  except error.HTTPError as e:
    return e.code
def get_m_html(movie_name):#根据电影名称,返回正确的电影html
  pin = Pinyin()
  pinyin_movie_name = pin.get_pinyin(movie_name,"")#不使用分隔符,默认是-
  movie_type = {
    "Sciencefiction":"科幻片",
    "Horror"    :"恐怖片",
    "Drama"     :"剧情片",
    "Action"    :"动作片",
    "Comedy"    :"喜剧片",
    "Love"     :"爱情片",
    "War"      :"战争片"
  }
  host = "https://www.kankanwu.com"
  for k,v in movie_type.items():
    movie_url = host + "/" + k + "/" + pinyin_movie_name + "/"
    html = get_html(movie_url)
    if isinstance(html,int):
      time.sleep(10)
    else:
      return html
def get_dload_url(html): #从电影html页面中获取下载地址
  movie_dict = {}
  soup = BeautifulSoup(html,'lxml')
  fixed_html = soup.prettify()
  a_urls = soup.find_all(href=re.compile("thunder"))#找到含有thunder链接的href
  for url in a_urls:
    m_title = url.get('title')
    m_url = url.get('href')
    movie_dict[m_title] = m_url
  return movie_dict

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
一则python3的简单爬虫代码
May 26 Python
Python实现自动登录百度空间的方法
Jun 10 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 Python
python批量复制图片到另一个文件夹
Sep 17 Python
解决python3 pika之连接断开的问题
Dec 18 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
python print出共轭复数的方法详解
Jun 25 Python
如何通过python实现人脸识别验证
Jan 17 Python
Django用户身份验证完成示例代码
Apr 03 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
python实现简单石头剪刀布游戏
Oct 24 Python
利用Python实现模拟登录知乎
May 25 Python
Golang GBK转UTF-8的例子
Aug 26 #Python
利用python实现周期财务统计可视化
Aug 25 #Python
Python爬虫运用正则表达式的方法和优缺点
Aug 25 #Python
numpy求平均值的维度设定的例子
Aug 24 #Python
Python实现滑动平均(Moving Average)的例子
Aug 24 #Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 #Python
在Python3 numpy中mean和average的区别详解
Aug 24 #Python
You might like
APMServ使用说明
2006/10/23 PHP
开发大型 PHP 项目的方法
2007/01/02 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
jQuery示例收集
2010/11/05 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
js函数排序的实例代码
2013/07/01 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python collections模块实例讲解
2014/04/07 Python
python Pygame的具体使用讲解
2017/11/03 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
信息系统专业个人求职信范文
2013/12/07 职场文书
春节随笔
2015/08/15 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
js前端图片加载异常兜底方案
2022/06/21 Javascript