吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21411|回复: 55
收起左侧

[Python 转载] python多线程爬取人人影视E级视频

  [复制链接]
Culaccino 发表于 2019-8-19 13:31
本帖最后由 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
QQ截图20190819132551.png

QQ截图20190819132847.png
下载可访问https://github.com/Kevin0z0/yyeTs-resource-crawler
也可以下载附件

zmz.zip

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

免费评分

参与人数 5吾爱币 +7 热心值 +4 收起 理由
俺素竹子 + 1 我很赞同!
wuai_jason + 1 + 1 谢谢@Thanks!
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
newbie2019 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xyfs + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

q5582765 发表于 2019-8-19 13:47
干嘛用!
Michaelhod 发表于 2019-8-19 13:52
 楼主| Culaccino 发表于 2019-8-19 13:53
佚丶名 发表于 2019-8-19 13:59
6的不行的
你是怎么想到的
xyfs 发表于 2019-8-19 14:01
刚才试了一下,确实可以爬,用来学习非常好,感谢楼主分享
tangkeqi 发表于 2019-8-19 14:05
都可以直接下,貌似不用这个
KARMA07007 发表于 2019-8-19 14:05
E级…太棒了
jiang123574 发表于 2019-8-19 14:05
人人没有反爬吗,那很棒哦
liboys 发表于 2019-8-19 14:06
666,这不是开往幼儿园的车
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 22:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表