python对影视资源采集
本帖最后由 寒心烟雨情 于 2018-11-26 21:13 编辑给大家分享一些源码,有需要的可以学习一下。
花了点时间对几个影视资源网采集,然后对接公众号,用户可以在微信回复影视名,然后程序去网上搜索,再把搜索结果返回给用户。
这里我分享一个采集模块,主程序就不发出来了,其他几个模块也大同小异,学会一个其他也不难了。
采集简单思路:
1、网站以post请求提交数据。
2、提取搜索到的影视资源,并判断是否搜索到资源。
其他看注释吧!我已经把不容易看懂的注释了。
import requests,re
headers = {"Referer": "http://yongjiuzy.net/",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
def zzyz_cj(wd):
url = "(某网站)"# 影视资源站采集 线路3
key = wd # 这个参数是搜索的资源名
data = {"wd": key, "submit":"search"}
text = (requests.post(url, data=data, headers=headers).text) .encode("ISO-8859-1").decode("utf-8")#里面以post提交请求
url_list = re.findall('<li><span class="tt">(.*?)</li>', text, re.S) #提取搜索到的影视资源
if (len(url_list) == False): #判断是否搜索到影视资源
return ("没有搜索到相关影片!")
else:
a_url = re.findall('<a href="(.*?)".*?', url_list, re.S) #这里只提取第一条搜索到的链接
url_1 = ("(某网站)" + a_url)# 这里提取到主目标页面
text = (requests.get(url_1).text).encode("ISO-8859-1").decode("utf-8") #这里还有一次get请求
h2 = re.findall('<h2>(.*?)</h2> ', text, re.S) #提取影视标题
re_text = re.findall('<li><input type="checkbox".*?/>(.*?)</li>', text, re.S)# 提取播放链接
url_list = []
url_list.append(h2 + "\n")
for for_url in re_text:
url_sp = (for_url.split("$"))
fh_url = requests.get("http://api.kks.me/api.php?url=" + url_sp, headers=headers).text# 短网址转换,简洁链接和防红
url_list.append(url_sp + fh_url + "\n")
url_str = "".join(url_list) #将列表转换为字符串
return (url_str)
这里我截了效果图:
感谢分享,不过你的源码我放到python里运行不了,“永久资源站” 的搜索功能用这个方法不行,我重新修改了一下,用的是ok资源网,由于我还不知道怎么对接公众号,所以只能用控制台输出结果了,我刚学python才几天。。。
import requests, re
headers = {"Referer": "https://api.okzy.tv/",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
def zzyz_cj(wd):
url = "https://api.okzy.tv/"# 影视资源站采集 线路3
key = wd# 这个参数是搜索的资源名
data = {"wd": key, "submit": "search"}
text = requests.post(url, data=data, headers=headers).text# 里面以post提交请求
url_list = re.findall('<span class="tt">', text, re.S)# 提取搜索到的影视资源
if len(url_list) == 0:# 判断是否搜索到影视资源
return "没有搜索到相关影片!"
else:
a_url = re.findall('<span class="xing_vb4"><a href="(.*?)".*?', text, re.S)# 这里只提取第一条搜索到的链接
url_1 = ("https://api.okzy.tv/" + a_url)# 这里提取到主目标页面
text = requests.get(url_1).text# 这里还有一次get请求
# print(text)
h2 = re.findall('<h2>(.*?)</h2>', text, re.S)# 提取影视标题
re_text = re.findall('<li><input type="checkbox".*?/>(.*?)</li>', text, re.S)# 提取播放链接
url_list = []
url_list.append(h2 + "\n")
for for_url in re_text:
url_sp = (for_url.split("$"))
# fh_url = requests.get("http://api.kks.me/api.php?url=" + url_sp, headers=headers).text# 短网址转换,简洁链接和防红
url_list.append(url_sp + "\n")
url_str = "".join(url_list)# 将列表转换为字符串
return url_str
if __name__ == '__main__':
wd1 = input('请输入电影名称:')
pt = zzyz_cj(wd1)
print(pt)
leonwqhb 发表于 2018-11-26 21:38
这个类似那种和淘宝客一样的是吗??
发个关键字然后就有相应的反馈
淘宝客我不怎么清楚,但也差不多,搜索关键词后,然后就去网站搜索回来,然后把搜索结果给用户 学习一下 感谢楼主分享,支持一下! 这个类似那种和淘宝客一样的是吗??
发个关键字然后就有相应的反馈
支持分享原创感谢 怎么对接到微信公众号呢? 学习学习 学习一下