誓言分享Python爬取在线视频网站

起因,在吾爱看到了这个站的视频可以在线播放,之前的那个是用正则表达式获取的,我懒就直接用xpath获取了。也是看他用的Flask搭建的,我也没看过flask,然后搜了下基础的使用,以及模版的传参,就小试牛到,代码写的很烂,我自己都觉得烂,福娃凑合看,功能是是实现了。他用的是浏览器地址传参,我用的是input标签传参,他直接用的是获取播放链接,我把海报和基础信息也爬了下来,感觉丑,就搜boot

誓言分享Python爬取在线视频网站

起因,在吾爱看到了这个站的视频可以在线播放,之前的那个是用正则表达式获取的,我懒就直接用xpath获取了。也是看他用的Flask搭建的,我也没看过flask,然后搜了下基础的使用,以及模版的传参,就小试牛到,代码写的很烂,我自己都觉得烂,福娃凑合看,功能是是实现了。他用的是浏览器地址传参,我用的是input标签传参,他直接用的是获取播放链接,我把海报和基础信息也爬了下来,感觉丑,就搜bootstrap加了个table,看着好点,我主要是做ja后端开发,前端的东西很少碰,弄了一年ja还是菜如狗,谁能理解下,哈哈。大神勿喷,先上成品图。

# encoding=”UFT8″importrequests

importrecords

fromlxml importetree

importxlwt

importre

importsys

fromflask importFlask

fromflask importrequest, render_template, jsonify

app = Flask(__name__, static_folder=’E:\py\爬虫\电影\static’)

app.config[‘JSON_AS_ASCII’] = FalseHEADERS = {

“UserAgent”: “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36”,

“Referer”: “http://www.baiwanzy.com/”}

defgetUrl(url, data):

# name = input(“请输入你要搜索的影视: “) # data[“wd”] = nameresponse = requests.post(url, data, headers=HEADERS)

text = response.text

html = etree.HTML(text)

ifhtml == “”:

return”暂无搜索结果”BASEURL = “http://www.baiwanzy.com”faurl = []

ftext = html.xpath(“//div[@class=’xing_vb’]//span[@class=’xing_vb4′]”)

fort inftext:

titles = t.xpath(“./a/text()”)

fortitle intitles:

passurls = t.xpath(“./a/@href”)

forurl inurls:

passfaurls = {

“biaoti”: title,

“wangzhi”: BASEURL + url

}

faurl.append(faurls)

moviess = song(faurl)

print(faurl)

returnmoviess

defsong(faurl):

movies = []

forurl infaurl:

response = requests.get(url[“wangzhi”], headers=HEADERS)

text = response.text

html = etree.HTML(text)

imagers = html.xpath(“//div[@class=’vodImg’]/img/@src”)

print(“”.join(imagers))

bieming = html.xpath(“//div[@class=’vodinfobox’]//li/text()”)

bies = []

forbie inbieming:

b = bie.strip()

bies.append(b)

info = html.xpath(“//div[@class=’vodinfobox’]//span/text()”)

fos = []

fori ininfo:

fo = i.strip()

fos.append(fo)

mydict = dict(zip(bies, fos))

urlsss = html.xpath(“//div[@style=’paddingleft:10px;wordbreak: breakall; wordwrap:breakword;’]/ul”)[

0].xpath(“./li/text()”)

m3u8s = html.xpath(“//div[@style=’paddingleft:10px;wordbreak: breakall; wordwrap:breakword;’]/ul”)[

1].xpath(“./li/text()”)

m3u8 = []

form inm3u8s:

m3 = m.split(“$”)

m = {

“name”: m3[0],

“url”: m3[1]

}

m3u8.append(m)

yuns = []

foru inurlsss:

yun = u.split(‘$’)

y = {

“name”: yun[0],

“url”: yun[1]

}

yuns.append(y)

move = {

“haibao”: “”.join(imagers),

“info”: mydict,

“yun”: yuns,

“m3u8”: m3u8

}

movies.append(move)

returnmovies

@app.route(‘/’)

defserch():

returnrender_template(“serch.html”)

@app.route(‘/info’)

defmain():

value = request.args.get(‘s’)

url = “http://www.baiwanzy.com/index.php?m=vodsearch”data = {“wd”: value, “submit”: “search”}

s = getUrl(url, data)

if nots:

returnrender_template(“erro.html”)

else:

returnrender_template(“info.html”, s=s)

if__name__ == ‘__main__’:

app.run(host=’0.0.0.0′, port=8080,threaded=True)

html就不粘贴了没啥东西!

页面中取值用的 for{% for i in s %}{{ i.info }}{% endfor %}

2楼:学习一下,python小白。

3楼:这是怎么给作呢???

4楼:说的哪国话??我怎么一句没听懂

5楼:flytoeden 发表于 2018911 15:24

这是怎么给作呢???

这是爬虫源码,需要本地搭建python环境和安装需要用的库。

6楼:誓言伤痕 发表于 2018911 15:37

这是爬虫源码,需要本地搭建python环境和安装需要用的库。

请问下,有些在线视频网站直接爬源代码没有m3u8地址,要用浏览器打开后,才加载出来,这种情况下怎么解决

7楼:wulin2008 发表于 2018911 16:14

请问下,有些在线视频网站直接爬源代码没有m3u8地址,要用浏览器打开后,才加载出来,这种情况下怎么解决

我之前遇到的情况是,播放页面F12的时候,提示DEBUG不能调式,说明这个站有反爬虫机制。而且有的请求是通过js调用不是明文的地址,我也搜过相关的资料,说什么是加密算法,需要解密才能获取到真实的地址,我是个彩币没研究出来。

我的知觉告诉我,我是爬不出来,还有一种是用Selenium+chromedriver模拟浏览器点击,如果跳转之后能播放,应该可以获取到地址栏地址存起来。

8楼:写的确实烂·····

既然是做Ja的,该封装的对象就封装一下啊,可以提取出的公共方法就提取一下啊,Python的爬虫将常用代码提取封装后基本没几行代码的,会写正则基本全部搞定

9楼:最欣赏楼主这种有才的人

10楼:誓言伤痕 发表于 2018911 16:44

我之前遇到的情况是,播放页面F12的时候,提示DEBUG不能调式,说明这个站有反爬虫机制。而且有的请求是通 …

之前我研究过gle的在线视频,比较鸡贼,整个界面设了一堆的弄扰用的临时变量,然后调用一段js,反复加密三四次最终得到获取视频地址的重要参数,然后用js生成hash码+前面获得的参数,拼成请求链接,向服务器获取,由于js全部是加密混淆的,我一直找不到生成hash码的那段js,所以一直没破译成功

11楼:缘来是你 发表于 2018911 20:46

写的确实烂·····

既然是做Ja的,该封装的对象就封装一下啊,可以提取出的公共方法就提取一下啊,Py …

不然也不会这么菜了

12楼:还没入门就放弃了

13楼:站玩不哭 发表于 2018912 09:54

还没入门就放弃了

我也放弃了,脑子笨!

14楼:崇拜ja大佬

15楼:膜拜了大佬

(0)

相关推荐