python实现的爬取电影下载链接功能示例


Posted in Python onAugust 26, 2019

本文实例讲述了python实现的爬取电影下载链接功能。分享给大家供大家参考,具体如下:

#!/usr/bin/python
#coding=UTF-8
import sys
import urllib2
import os
import chardet
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding("utf-8")
#从电影html页面中获取视频下载地址
def get_movie_download_url(html):
  soup=BeautifulSoup(html,'html.parser')
  fixed_html=soup.prettify()
  td=soup.find('td',attrs={'style':'WORD-WRAP: break-word'})
  url_a=td.find('a')
  url_a=url_a.string
  return url_a
#从电影html页面中获取电影标题
def get_movie_title(html):
  soup=BeautifulSoup(html,'html.parser')
  fixed_html=soup.prettify()
  title=soup.find('h1')
  title=title.string
  return title
#访问url,返回html页面
def get_html(url):
  req=urllib2.Request(url)
  req.add_header('User-Agent','Mozilla/5.0')
  response=urllib2.urlopen(url)
  html=response.read()
  return html
#从电影列表页,获取电影的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',attrs={'class':'ulink'})
  host = "http://www.ygdy8.net"
  for a_url in a_urls:
    m_url=a_url.get('href')
    m_list.append(host+m_url)
  return m_list
#存入txt文件
def file_edit(wr_str):
  f1 = open(r'e:\down_load_url.txt','a')
  f1.write(wr_str)
  f1.close()
#传入电影url的列表集合,获取下载地址,并写入文件
def write_to_txt(a_urls):
  for a_url in a_urls:
    html=get_html(a_url)
    html=html.decode('GBK')
    write_title=get_movie_title(html)
    write_url=get_movie_download_url(html)
    file_edit(write_title+"\n")
    file_edit(write_url+"\n")
    file_edit("\n")
#传入页数,返回这几页的url列表
def get_pages_url(num):
  urls_list = []
  url="http://www.ygdy8.net/html/gndy/dyzz/list_23_"
  for n in range(1,num+1):
    new_url = url+str(n)+".html"
    urls_list.append(new_url)
  return urls_list
if __name__=='__main__':
  pages = 2 #打算爬取几页电影
  p_url = get_pages_url(pages)
  for i in p_url:
    write_to_txt(get_movie_list(i))#执行写入
  print "done"

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

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

Python 相关文章推荐
python中cPickle用法例子分享
Jan 03 Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
python监控文件并且发送告警邮件
Jun 21 Python
Sanic框架安装与简单入门示例
Jul 16 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Python hashlib模块加密过程解析
Nov 05 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 #Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 #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
You might like
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
jQuery 选择器理解
2010/03/16 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
python查看微信好友是否删除自己
2016/12/19 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
新三好学生主要事迹
2014/01/23 职场文书
护士岗位职责
2014/02/16 职场文书
小学母亲节活动总结
2015/02/10 职场文书