经验大分享:PYTHON爬取66影视的电影下载链接,有搜索功能

简介: 经验大分享:PYTHON爬取66影视的电影下载链接,有搜索功能

本片代码亮点在于使用BeautifulSoup的select功能,可以直接根据数据在html页面中的层级标签来获取数据。

# -- coding=gb18030 --

author = 'vincent'

import sys

import urllib2

import urllib

import cookielib

from bs4 import BeautifulSoup

class Spider66ys:

headers = None

home_url = None

def init(self):

self.headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0'

}//代码效果参考:http://www.ezhiqi.com/zx/art_7500.html

self.home_url = ""

# 获取网页信息

def get_html(self, url):

print "正在获取网页【", url, "】的信息..."

if len(url) == 0:

print "Input url is null!"

sys.exit(0)

request = urllib2.Request(url, headers=self.headers)

response = urllib2.urlopen(request)

html = response.read()

# print "获取首页信息(", url, ")完毕."

return html

# 在电影页面下获取电影的下载链接

def get_download_url(self, film):

print "开始从网页【", film【0】, "】中获取电影【", film【1】, "】的下载链接..."

html = self.get_html(film【0】)

# fp = open("film.html", "w")

# fp.write(html)

# fp.close()

soup = BeautifulSoup(html, "lxml", from_encoding="gb18030")

# print soup.prettify()

results = soup.select("html > body > div.wrap > div.mainleft \

> div.contentinfo > div#text > table > tbody > tr > td > a")

for result in results:

film.append(result【'href'】)

# 获取最新更新电影

def get_new_update(self):

new_film_list = 【】

print "正在获取【", self.home_url, "】更新电影..."

html = self.get_html(self.home_url)

# fp = open("66ys.html", "w")

# fp.write(html)

# fp.close()

soup = BeautifulSoup(html, "lxml", from_encoding="gb18030")

results = soup.select("html > body > div.wrap > div.tnlist > ul > li > a")

for result in results:

film = 【】

film.append(result【'href'】)

film.append(result.getText().encode('gb18030').strip())

self.get_download_url(film)

new_film_list.append(film)

return new_film_list

# 根据关键字在66影视上搜索电影

def search_film(self, content):

search_film_list = 【】

search_url = self.home_url + "/e/search/index.php"

print "开始搜索电影【", content, "】..."

# print search_url

postDict = {

"keyboard": content,

"show": "title,smalltext",

"submit": "",

"tbname": "Article",

"tempid": "1"

}//代码效果参考:http://www.ezhiqi.com/bx/art_7199.html

postData = urllib.urlencode(postDict)

# print postData

cookie_jar = cookielib.LWPCookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))

urllib2.install_opener(opener)

request = urllib2.Request(search_url, postData, headers=self.headers)

response = urllib2.urlopen(request)

opener.open(request)

html = response.read()

# fp = open("search.html", "w")

# fp.write(html)

# fp.close()

# print content

soup = BeautifulSoup(html, "lxml", from_encoding="gb18030")

results = soup.select("html > body > table.tableborder > tr > td > div > b")

if len(results) == 1:

print "没有搜索到相关的内容"

return None

results = soup.select("html > body > div > div.wrap > div.mainleft > div.channellist > div.listBox > ul > li \

div.listInfo > h3 > a")

# print results

for result in results:

film = 【】

film.append(result【'href'】)

film.append(result.getText().encode('gb18030').strip())

self.get_download_url(film)

search_film_list.append(film)

print "共搜索到【", len(results), "】部电影。"

return search_film_list

if name == "main":

spider = Spider66ys()

# new_film_list = spider.get_new_update()

# for film in new_film_list:

# for info in film:

# print info, "\t"

# print ""

content = "冰与火之歌"

search_film_list = spider.search_film(content)

for film in search_film_list:

print film【1】, ":"

for info in film【2:】:

print info

print "-"*200

心有猛虎,细嗅蔷薇

相关文章
|
2天前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
34 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
1月前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
111 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
3月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
3月前
|
Python
二分查找变种大赏!Python 中那些让你效率翻倍的搜索绝技!
二分查找是一种高效的搜索算法,适用于有序数组。其基本原理是通过不断比较中间元素来缩小搜索范围,从而快速找到目标值。常见的变种包括查找第一个等于目标值的元素、最后一个等于目标值的元素、第一个大于等于目标值的元素等。这些变种在实际应用中能够显著提高搜索效率,适用于各种复杂场景。
52 9
|
3月前
|
算法 数据处理 开发者
超越传统:Python二分查找的变种策略,让搜索效率再上新台阶!
本文介绍了二分查找及其几种Python实现的变种策略,包括经典二分查找、查找第一个等于给定值的元素、查找最后一个等于给定值的元素以及旋转有序数组的搜索。通过调整搜索条件和边界处理,这些变种策略能够适应更复杂的搜索场景,提升搜索效率和应用灵活性。
51 5
|
3月前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
172 1
|
4月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
4月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
109 1

热门文章

最新文章

推荐镜像

更多