Tags:人人影视,爬取,源码
python多线程爬取人人影视视频源码。python经典源码爬取系列,本次带来的是能够爬取人人影视平台视频资源的源码数据信息,支持关键词智能搜索功能,可以快速搜索爬取想要的人人影视视频资源。源码直接编辑即可生成爬取程序,需要在编辑平台上进行搭建,感兴趣的朋友们不妨试试吧!
人人影视爬取爬取源码说明使用:
此程序可爬取大部分人人影视数据,具体bug还没测试
安装requirements
pip install -r requirements.txt
修改settings.json中的数据(当前为默认设置)
布尔值只能设置为布尔值,true为需要爬取的数据,false则不爬取
pageNum:可选择"1-737"多页面 或者 "2" 单页面爬取
level:可选择只爬取 "e" ,也可以选择"abe","abc"等多种组合爬取,如果选择"all",则会爬取一些暂无分级的影视信息
export:默认为导出csv格式,当前仅支持mongodb,如有需要,自行修改下列代码替换"csv"
{
"db": "mongodb",
"host": "localhost",
"port": 27017,
"username": "",
"password": "",
"dbname": "rrys",
"table": "rrys"
}
人人影视爬取源码部分展示:
defanalyze(u):
try:
url=baseurl+u
html=pq(requests.get(url, headers=headers).content.decode())
# 获取标题和剧种
t=html(".resource-tit h2").text()
title=re.search("【(.*)】《(.*)》", t).groups()
# 获取影视分级
items=html('.level-item img').attr('src')
level=get_level(items, info["level"])
# 如果返回的分级为false则跳过这条
iflevel==False:return
# 获取主要信息
main_info=get_info(html)
# 获取剧种
if"dramaType"inresult_info:
main_info["dramaType"]=title[0]
# 获取评分
if"score"inresult_info:
main_info["score"]=get_score(u[-5:])
if'url'inresult_info:
main_info['url']=url
# 获取影片封面
if"imgurl"inresult_info:
main_info['imgurl']=html('.imglink a').attr('href')
# 获取本站排名
if"rank"inresult_info:
main_info["rank"]=re.search("本站排名:(\d*)", html(".score-con li:first-child .f4").text()).group(1)
# 获取简介
if"introduction"inresult_info:
main_info["introduction"]=html(".resource-desc .con:last-child").text()
result={}
# 写入标题和分级
result["title"]=title[1]
result["level"]=level
# 遍历main_info,只写入有效数据
forkey, valueinresult_info.items():
try:
result[key]=main_info[key]
except:
result[key]='暂无'
print(result['title'])
# 写入文件
ifexport=='csv':
wirtecsv([iforiinresult.values()])
else:
mycol.insert_one(result)
exceptException as e:
throw_error(e)
analyze(u)
defmain(num):
try:
url=baseurl+"/resourcelist/?page={}".format(num)
doc=pq(requests.get(url, headers=headers).content.decode())
urls=doc(".fl-info a").items()#遍历a标签
ifinfo['threads']:
foriinurls:
Thread(target=analyze,args=(i.attr("href"),)).start()
else:
foriinurls:
analyze(i.attr("href"))
time.sleep(1)
exceptException as e:
throw_error(e)
main(num)
软件评论 请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!
网友评论