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

 更新时间:2019年08月26日 09:54:14   作者:zhizunyu2009  
这篇文章主要介绍了python实现的爬取电影下载链接功能,涉及Python基于BeautifulSoup模块的网页信息爬取相关操作技巧,需要的朋友可以参考下

本文实例讲述了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 if else条件语句形式详解

    Python if else条件语句形式详解

    这篇文章主要介绍了Python if else条件语句形式详解,在 Python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构,接下来小编就根据情况的不同介绍if else条件语句形式的不同,需要的朋友可以参考一下
    2022-03-03
  • Python中functools模块的常用函数解析

    Python中functools模块的常用函数解析

    这篇文章主要介绍了Python中functools模块的常用函数解析,分别讲解了partial、update_wrapper、wraps、total_ordering的用法,需要的朋友可以参考下
    2016-06-06
  • 如何利用Python 快速找到最大文件

    如何利用Python 快速找到最大文件

    现在的电脑差不多都是固态硬盘了,速度很快,但容量不会太大,经常会出现磁盘空间不足的情况,怎么办,删除那些不重要的最大的文件是最有效的办法,这篇文章我们就来介绍介绍了如何利用Python 快速找到最大文件,需要的朋友可以参考一下
    2021-11-11
  • Python爬虫爬取有道实现翻译功能

    Python爬虫爬取有道实现翻译功能

    这篇文章主要介绍了Python爬虫爬取有道实现翻译功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python运行错误异常代码含义对照表

    Python运行错误异常代码含义对照表

    这篇文章主要介绍了Python运行错误异常代码含义对照表,需要的朋友可以参考下
    2021-04-04
  • 对python特殊函数 __call__()的使用详解

    对python特殊函数 __call__()的使用详解

    今天小编就为大家分享一篇对python特殊函数 __call__()的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python遍历列表时删除元素案例

    Python遍历列表时删除元素案例

    这篇文章主要介绍了Python遍历列表时删除元素案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • Python实现批量绘制遥感影像数据的直方图

    Python实现批量绘制遥感影像数据的直方图

    这篇文章主要为大家详细介绍了如何基于Python中gdal模块,实现对大量栅格图像批量绘制直方图,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-02-02
  • python将处理好的图像保存到指定目录下的方法

    python将处理好的图像保存到指定目录下的方法

    今天小编就为大家分享一篇python将处理好的图像保存到指定目录下的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • matplotlib画图之修改坐标轴刻度问题

    matplotlib画图之修改坐标轴刻度问题

    这篇文章主要介绍了matplotlib画图之修改坐标轴刻度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论