苹果cms电影网站的自动采集影片的采集程序的源码
优采云 发布时间: 2021-07-24 02:27苹果cms电影网站的自动采集影片的采集程序的源码
Applecms电影网站的Auto采集
电影网站用Applecms构建,采集movie可以通过后台自定义资源库链接资源网站。这种方法简单易操作。但问题是采集 只有两个属性可供选择。一是可以选择电影类型,二是可以选择有限的电影更新时间。这种操作的结果是质量无法区分,好坏参差不齐,好坏一键踩。
为了解决这个问题,在python中编译了一个小程序,实现根据指定的电影名批量采集。
第一部分是一个爬虫程序,爬取豆瓣电影排名前30%的各类电影中的前30%,或者只抓取前10%或20%。将电影名称另存为“***.Txt”文件。
在采集program的第二部分,根据电影名称和采集一一搜索到自己的movie网站。
这样你就可以保证你的电影库里只有采集排名靠前的好电影,没有太多的电影,只有细粒度的电影。以下是程序采集部分的源码。仅供参考。
<p># 模拟苹果cms后台自定义资源库里的查询。 提取数据用正则表达式和xpath
# 目前是精确查询,如查“蛇”,不会把其他带“蛇”字的影片采集到。也可改为模糊查询
import os
import random
import time
import requests
from lxml import etree
import re
def getmnames(): # 从文件中导出电影名列表
with open("e:\dc\dbrate\影片名.txt", 'r', encoding='utf-8')as f:
mname = f.readline()
while mname:
getid_1156(mname.replace('\n', ''))
mname = f.readline()
def getid_1156(moviename):
# 本函数调用苹果cms后台-自定义资源库-1156资源-[查询按钮],按名称查询电影,如果查到就抽取电影的id, 然后直接按id采集电影
global colsum
path = r'e:\dc\anmolive\\' # 指定一个保存文字和图片的文件夹, dc意思是datacenter
folder = os.path.exists(path)
if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹
os.makedirs(path) # makedirs 创建文件时如果路径不存在会创建这个路径
# 构造指定起始点的页面的网址
url = 'http://anmo.live/login.php/admin/collect/api.html?ac=list&cjflag=59a9b8208b4b3f76ab1f5a83cdf&' \
'cjurl=http%3A%2F%2Fcj.1156zy.com%2Finc%2Fapi.php&h=&t=&ids=&wd=' + moviename + '&type=1&mid=1¶m=&page=1&limit='
# 1156资源网的cookie
cookies_1156 = {'UM_distinctid': '172bc03c10f-06e3278c369-f7d123e-1fa400-172bc430d3ec',
'__cfduid': 'da522209aa7174fd411d5d1469f1596271935',
'PHPSESSID': '7bee1f791647ec61ed93e1d1c11a13a3',
'admin_id': '1',
'admin_name': '×××',
'admin_check': '4bf45d54e07ea484d09214f2fda',
'CNZZDATA1277635278': '784101942-1596271233-http%253A%252F%252Fanmo.live%252F%7C1596415349'}
headers = get_headers()
try:
print('正在查找' + moviename)
r = requests.get(url, headers=headers, cookies=cookies_1156)
except:
print("Connection refused by the server..")
time.sleep(5)
cont = r.content # r.content返回的是bytes型的数据
contstr = str(cont, 'utf-8') # 转成utf-8字符串
#上边的请求会返回所有包含查询词的名字,如搜美女,返回资源站所有带美女两字的电影名,
reg_rul = r'