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实现在pickling的时候压缩的方法
Sep 25 Python
python自动化测试之连接几组测试包实例
Sep 28 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
Python批量重命名同一文件夹下文件的方法
May 25 Python
Python脚本实现自动发带图的微博
Apr 27 Python
Python输出带颜色的字符串实例
Oct 10 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
wxPython实现带颜色的进度条
Nov 19 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
Python基础之Socket通信原理
Apr 22 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
方法汇总:Python 安装第三方库常用
Apr 26 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
PHP的FTP学习(三)
2006/10/09 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
2009/11/24 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
jQuery使用方法
2017/02/04 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
Vue中图片Src使用变量的方法
2019/10/30 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
详解Python中的type和object
2018/08/15 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
c语言常见笔试题总结
2016/09/05 面试题
个人查摆剖析材料
2014/02/04 职场文书
大学生党员自我评价
2015/03/04 职场文书
防溺水主题班会教案
2015/08/12 职场文书