Python实现电影网站下载链接爬虫示例
本文提供基于Python的电影下载链接爬虫实现方案。利用urllib2发起请求,结合BeautifulSoup解析HTML结构,提取电影标题及下载URL。代码包含分页处理、文件写入及编码转换逻辑,适用于学习Python网络爬虫基础与网页数据提取技术。
Python电影链接爬虫实现概述
本文详细介绍使用Python编写程序以抓取电影网站下载链接的具体实现方法。该示例代码旨在为读者提供参考,帮助理解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相关技术,可查阅本站发布的系列教程,包括《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。
总结
希望上述关于Python程序设计的介绍与示例能对读者的学习与实践有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













