You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
2.3 KiB

import requests as res
import bs4
from bs4 import BeautifulSoup
import re
#导入网址
url = 'https://api.bilibili.com/x/v2/dm/wbi/web/seg.so?type=1&oid=500001646144543&pid=112943899411643&segment_index=1&pull_mode=1&ps=120000&pe=360000&web_location=1315873&w_rid=a7ec617df1c0828a97046a938e59a864&wts=1726493362'
#头部
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0"
#"Referer': 'https://www.bilibili.com/"
}
#b站访问要求cookie
cookies = {
'SESSDATA':"b_nut=1655287595; buvid3=BF250087-55FD-D740-F149-152C712F432A94793infoc; buvid4=2F195046-6FB2-C0ED-84F3-CFE797B8DEEA94793-022061518-5IOzIX6vtHJ9FRL7o6i1zQ%3D%3D; CURRENT_BLACKGAP=0; buvid_fp_plain=undefined; DedeUserID=26136862; DedeUserID__ckMd5=f2772e0836b37b7d; LIVE_BUVID=AUTO8716595296112114; is-2022-channel=1; enable_web_push=DISABLE; header_theme_version=CLOSE; rpdid=|(u))kkYu||u0J'u~|JRuYRuJ; FEED_LIVE_VERSION=V_WATCHLATER_PIP_WINDOW2; _uuid=E293C3CE-5BA2-AA102-47A1-CAD1F6E712FB26442infoc; CURRENT_FNVAL=4048; hit-dyn-v2=1; CURRENT_QUALITY=112; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjY1ODU2NjIsImlhdCI6MTcyNjMyNjQwMiwicGx0IjotMX0.CsOd0CJGNhKRv6UunXKonpIkkO2qBz_p-Gw81mi4tpI; bili_ticket_expires=1726585602; SESSDATA=3f48a236%2C1741878463%2C15a29%2A92CjBaveekXDe5OQ_IwEae3xIQl4PGsZv8ExuVSsoPBtXBdi4FoS1NXu-XtKAQyRFkN90SVlZDQ1JmS0duZWN4NW9Ra0VQLW05ck5NRWs0MG05eW1KeGpCVVNlQTJQV0Jwb2lQTWxUNWZ0NGozYnRBZzBGYldiMXZCUXFPZVd3OW05QWtiYTFHeFRnIIEC; bili_jct=5780f62cf4b6afb7aee05c23729c89b4; sid=75357c50; fingerprint=21eff4f800f9e3be41201f47f1bf1477; buvid_fp=21eff4f800f9e3be41201f47f1bf1477; PVID=1; bsource=search_bing; b_lsid=71AD72B1_191F9A96CD1; bp_t_offset_26136862=977672485149343744; home_feed_column=5; browser_resolution=1442-740"
}
#发送请求
response = res.get(url=url,headers=headers,cookies=cookies)
#解决乱码问题
response.encoding = 'utf-8'
#打印数据
print(response.text)
#数据解析
comment_list = re.findall('<d p=".*?">(.*?)</d>',response.text)
print (comment_list)
#循环打印并输出结果到文本中
for comment in comment_list:
with open('弹幕1.txt',mode = 'a',encoding = 'utf-8') as f:
f.write(comment)
f.write('\n')
print(comment)