#1 - 2023-3-26 10:52
赤坂羽 (新时代的破船爱谁登谁登)
点一个人就能把和他共事过的人际图输出

让GPT帮我写了个程序,但是会出错。凭借着我自学那一点python属实不知道该怎么搞了。

【这个错误日志表明,你的程序遇到了一个 SSLError,它表示无法通过 HTTPS 连接到 bangumi.tv 网站,具体原因为 EOF(文件尾)违反协议。

这种错误可能由多种原因引起,其中一些可能包括:

网络连接问题。请确保你的计算机可以正常连接到互联网,并且没有被防火墙或其他安全软件阻止。

你提供的 URL 不正确。确保你使用的是正确的 URL,而不是示例代码中提供的 https://chii.in/person/21580

服务器问题。如果 bangumi.tv 服务器遇到了问题,则可能导致此错误。

Python 环境问题。尝试更新你的 Python 环境或使用其他 Python 环境(如 Anaconda)。

SSL/TLS 证书问题。可能存在证书问题,例如证书已过期或不匹配。你可以尝试使用 requests 库提供的 verify 参数来禁用证书验证,例如 verify=False。】

这里把代码奉上:
import requests
from bs4 import BeautifulSoup

def fetch_staff_data(staff_member_url):
    response = requests.get(staff_member_url)
    soup = BeautifulSoup(response.text, 'html.parser')
    return soup

def extract_works_and_co_workers(soup):
    works_and_co_workers = {}
   
    # Locate the elements containing the works and co-workers data.
    # The CSS selectors used here may vary depending on the website's structure.
    works_elements = soup.select('.work-list-element')
    co_workers_elements = soup.select('.co-workers-list-element')

    for work, co_workers in zip(works_elements, co_workers_elements):
        work_title = work.get_text()
        co_worker_names = [co_worker.get_text() for co_worker in co_workers.select('.co-worker-name')]
        works_and_co_workers[work_title] = co_worker_names

    return works_and_co_workers

def main():
    staff_member_url = 'https://chii.in/person/21580'  # Replace with the actual URL of the staff member you're interested in.
    soup = fetch_staff_data(staff_member_url)
    works_and_co_workers = extract_works_and_co_workers(soup)

    # Process the data and output the results as desired.
    for work, co_workers in works_and_co_workers.items():
        print(f"{work}:")
        for co_worker in co_workers:
            print(f"  - {co_worker}")

if __name__ == '__main__':
    main()
#2 - 2023-3-26 11:01
(Do you hear the people sing?)
自己写呗
希望不要DoS
#3 - 2023-3-26 11:03
删除了回复
#4 - 2023-3-26 19:07
(小圣杯邀请码: whyjxz14#576501)
这个不可能。因为会很多
#5 - 2023-3-26 19:07
(小圣杯邀请码: whyjxz14#576501)
范围小一点可以讨论下
#6 - 2023-3-26 19:08
(小圣杯邀请码: whyjxz14#576501)
合作次数最多的xx那个应该可以
#7 - 2023-3-26 19:10
(唯有开摆这件事毫不犹豫)
蛮有意思的功能(bgm38)
豆瓣倒是有类似这个的
#8 - 2023-3-26 19:12
(Do you hear the people sing?)
多给点信息吧,比如代码什么的
有没有可能爬的太多ip被ban了
#9 - 2023-3-26 19:21
(天生万物以养人,人无一物以报天)
可以,就交给你来写了

https://github.com/bangumi
#10 - 2023-3-26 19:40
(縱置身於極限狀態下,仍抱持意誌與尊嚴,此姿態堪稱美妙 . ...)
https://bgm.tv/dev/app/660
感觉类似的功能,拿这个改改?
#11 - 2023-3-26 20:03
(唯有开摆这件事毫不犹豫)
写了一个输出名称 id 合作次数 合作项目的脚本,设置了sleep(1)所以速度特别慢,每个条目都要花1秒钟,结果会打印出来和写到result.txt里
bangumi_person
本来想输出关系图,但是copilot画不了就懒得弄了(bgm38)
#11-1 - 2023-3-26 20:06
苏芳
拿望月智充测试的时候发现合作过最多的人是後藤真砂子,打开一看发现是他老婆(bgm38)
#12 - 2023-3-26 20:38
(天生万物以养人,人无一物以报天)
要做的话可以直接调API,别解析网页了
#12-1 - 2023-3-27 01:11
1ra
又没有收藏数据,直接用wikidump就行了吧(
#12-2 - 2023-3-27 08:33
bangumi大西王
1ra 说: 又没有收藏数据,直接用wikidump就行了吧(
对哦,我自己都忘了
#13 - 2023-3-27 02:31
豆瓣我记得有查看和staff合作次数排序的功能
#14 - 2023-3-27 08:05
你这个需求可以直接用Bangumi Archive,不需要爬主站/API。下好数据库可以离线查找,1秒内输出所有关联,非常方便(bgm24)
source
#14-1 - 2023-3-27 10:31
苏芳
居然有这种东西,感觉可以生成所有制作人员的关系图了
#14-2 - 2023-3-27 11:11
1ra
苏芳 说: 居然有这种东西,感觉可以生成所有制作人员的关系图了
大半个业界怕不是在一个网里(bgm38)
#14-3 - 2023-3-27 11:55
bangumi大西王
1ra 说: 大半个业界怕不是在一个网里
怕的是大半个业界都在一个网里
#15 - 2023-3-27 09:35
类似的问题我之前也遇到过,我当时的解决方案是通过后端对URL进行访问。不过楼上提供的方法显然更好。
#16 - 2023-3-27 14:03
(ACG猫舌,喜欢补已经凉了的企划,不喜欢趁热。)
有些staff并不一定是在同一集里出现的啊。
比如前几集请了A原画,后几百集请了B原画,这样AB算合作过吗?
还有前几百集A导演B系构,后几百集C导演D系构。AD可能会被误判合作过。
#17 - 2023-3-29 23:00
(愛讀者諸孃は御賛成下さいまし)
震撼,从来没在你班见过从提议到实装时间间隔这么短的功能(bgm60)

接下来谁来给人物网络跑个network cluster analysis,结果一定很好玩(他力本愿)
#18 - 2023-3-29 23:10
居然实装了
#19 - 2023-3-29 23:17
(那之后,时光流逝……)
我还说最近怎么多了个合作的关联功能,原来是这帖子出的提议啊,真是简单好用惠民收合集起来更方便了感谢
#20 - 2023-3-29 23:27
(小圣杯邀请码: whyjxz14#576501)
楼主就是bangumi之子。下次新功能组织决定都由你来提了
#21 - 2023-3-29 23:57
(失去的永不复返 世守恒而今倍还.)
草 ChatCPT重振班固米荣光!(会不会是实装最快的功能提议啊)
#22 - 2023-3-30 00:18
(新时代的破船爱谁登谁登)
我曹,实装还愿