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安装oracle扩展及数据库连接方法
Feb 21 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
Python列表list操作相关知识小结
Jan 29 Python
Django实现后台上传并显示图片功能
May 29 Python
Python如何执行精确的浮点数运算
Jul 31 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
python实现进度条的多种实现
Apr 29 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的无限分类实现想法~
2007/01/02 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
javascript 函数使用说明
2010/04/07 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
Python按行读取文件的简单实现方法
2016/06/22 Python
有关Python的22个编程技巧
2018/08/29 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
个人求职信范文
2014/05/24 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android