鱼C论坛

 找回密码
 立即注册
查看: 1882|回复: 0

[作品展示] python写的腾讯视频电视剧列表,保存成csv文件,当然可以换关键字变成电影,纪录片...

[复制链接]
发表于 2020-7-7 15:29:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import requests
from lxml import etree
import csv
import os
import winreg

lis=[]
offset=30
try:
    while True:
        # url='https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=tv&listpage=1&offset=90&pagesize=30'
        url="https://v.qq.com/x/bu/pagesheet/list?_all=1&append=1&channel=tv&listpage=1&offset={}&pagesize=30".format(str(offset))
        head = {"referer":"https://v.qq.com/channel/tv?listpage=1&channel=tv&sort=18&_all=1",
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36 Maxthon/5.3.8.2000'}
        s = requests.get(url,headers=head)
        s.encoding = "utf-8"
        s = s.text
        parse_html=etree.HTML(s)
        parse_text = parse_html.xpath('//div[@class="list_item"]/a/@href' #链接
                                      '|//div[@class="list_item"]/a/@title' #片名
                                      '|//div[@class="figure_caption"]/text()'#集数
                                      '|//div/a/img[@class="mark_v mark_v_VIP"]/@alt'#VIP
                                      '|//div/a/img[@class="mark_v mark_v_预告片"]/@alt'
                                      '|//div/a/img[@class="mark_v mark_v_会员付费解锁"]/@alt'
                                      '|//div/a/img[@class="mark_v mark_v_互动"]/@alt'
                                      '|//div/div/div/text()')#简介
        parse_page = parse_html.xpath('//div/button/@_stat2')
        off = int((str(parse_page[-1]))[3:])
        print(offset)
        if (off * 30) <= offset:
            break
        offset += 30

        for i in range(len(parse_text)):
            try:
                i = 0
                if parse_text[i][0:16]=='https://v.qq.com':
                    html_fin={"链接":parse_text[i]}
                    del parse_text[i]
                    html_fin["片名"] = parse_text[i]
                    del parse_text[i]
                if parse_text[i][-1]=='集':
                    html_fin["集数"] = parse_text[i]
                    del parse_text[i]
                else:
                    html_fin["集数"] = ''
                if parse_text[i]=='VIP' or parse_text[i]=='预告片'\
                    or parse_text[i] == '会员付费解锁' or parse_text[i] == '互动':
                    html_fin["VIP"] = parse_text[i]
                    del parse_text[i]
                else:
                    html_fin["VIP"] = ''
                if  (parse_text[i][0:6]) != 'https:':
                    html_fin["简介"] = parse_text[i]
                    del parse_text[i]
                lis.append(html_fin)
            except IndexError:
                pass
        print(lis)

except IndexError:
    pass



key=winreg.OpenKey(winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders")
value, type = winreg.QueryValueEx(key, "Desktop")
path=value
header = ['片名', '集数', 'VIP', '简介', '链接']
csvFile = open(path + "\\腾讯视频" + '电视剧列表' + ".csv", 'w', newline='', encoding="GB18030")
dict_writer = csv.DictWriter(csvFile, header)
dict_writer.writeheader()
for key in lis:
    dict_writer.writerow(key)


print(parse_text)



评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +3 收起 理由
永恒的蓝色梦想 + 3 + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 05:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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