首页 编程教程正文

python多线程爬取人人影视E级视频

piaodoo 编程教程 2020-02-22 22:15:50 2414 0 python教程

本文来源吾爱破解论坛

本帖最后由 Culaccino 于 2020-1-19 16:23 编辑

查询分类的链接:https://v.dsb.ink
本程序使用了pyquery,可以爬取大部分人人影视信息目前仅支持保存为csv和mongodb
因为人人影视不能筛选影视分级,所以写了个爬虫出来
目前支持爬取剧名,分级,链接,站内排名,剧种,评分,原名,地区,语言,首播时间,制作公司/电视台,类型,翻译,IMDB,别名,編劇,导演,主演,简介,图片链接
贴部分代码
[Python] 纯文本查看 复制代码

def analyze(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则跳过这条
        if level == False: return
        # 获取主要信息
        main_info = get_info(html)
        # 获取剧种
        if "dramaType" in result_info:
            main_info["dramaType"] = title[0]
        # 获取评分
        if "score" in result_info:
            main_info["score"] = get_score(u[-5:])
        if 'url' in result_info:
            main_info['url'] = url
        # 获取影片封面
        if "imgurl" in result_info:
            main_info['imgurl'] = html('.imglink a').attr('href')
        # 获取本站排名
        if "rank" in result_info:
            main_info["rank"] = re.search("本站排名:(\d*)", html(".score-con li:first-child .f4").text()).group(1)
        # 获取简介
        if "introduction" in result_info:
            main_info["introduction"] = html(".resource-desc .con:last-child").text()
        result = {}
        # 写入标题和分级
        result["title"] = title[1]
        result["level"] = level
        # 遍历main_info,只写入有效数据
        for key, value in result_info.items():
            try:
                result[key] = main_info[key]
            except:
                result[key] = '暂无'

        print(result['title'])
        # 写入文件
        if export == 'csv':
            wirtecsv([i for i in result.values()])
        else:
            mycol.insert_one(result)
    except Exception as e:
        throw_error(e)
        analyze(u)


def main(num):
    try:
        url = baseurl + "/resourcelist/?page={}".format(num)
        doc = pq(requests.get(url, headers=headers).content.decode())
        urls = doc(".fl-info a").items() #遍历a标签
        if info['threads']:
            for i in urls:
                Thread(target=analyze,args=(i.attr("href"),)).start()
        else:
            for i in urls:
                analyze(i.attr("href"))
        time.sleep(1)
    except Exception as e:
        throw_error(e)
        main(num)


QQ截图20190819132348.png (14.81 KB, 下载次数: 0)

下载附件  保存到相册

2019-8-19 13:24 上传


QQ截图20190819132551.png (130.8 KB, 下载次数: 1)

下载附件  保存到相册

2019-8-19 13:25 上传



QQ截图20190819132847.png (83.17 KB, 下载次数: 2)

下载附件  保存到相册

2019-8-19 13:28 上传


下载可访问https://github.com/Kevin0z0/yyeTs-resource-crawler
也可以下载附件 嗨学网

zmz.zip

2019-12-25 21:17 上传

点击文件名下载附件

下载积分: 吾爱币 -1 CB

4.44 KB, 下载次数: 128, 下载积分: 吾爱币 -1 CB

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:http://www.piaodoo.com/8024.html

评论

搜索