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使用多线程不断刷新网页的方法
Mar 31 Python
python3实现随机数
Jun 25 Python
Python数据集切分实例
Dec 08 Python
python实现文本界面网络聊天室
Dec 12 Python
Python 最大概率法进行汉语切分的方法
Dec 14 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
Python如何定义接口和抽象类
Jul 28 Python
Python 如何展开嵌套的序列
Aug 01 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 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+MYSQL开发工具及资源收藏
2007/01/02 PHP
php函数之子字符串替换 str_replace
2011/03/23 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
jquery创建div 实现代码
2009/04/27 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
js实现分页功能
2017/05/24 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
javascript回调函数详解
2018/02/06 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
详解Django的CSRF认证实现
2018/10/09 Python
Python笔记之工厂模式
2019/11/20 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
在python中求分布函数相关的包实例
2020/04/15 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
信用社实习人员自我鉴定
2013/09/20 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
培训主管岗位职责
2014/02/01 职场文书
开学季活动策划方案
2014/02/28 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
说明书格式及范文
2014/05/07 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
简单租房协议书范本
2014/08/20 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
班主任工作总结范文
2015/08/13 职场文书
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电