FC_Huang
发表于 2019-8-13 15:05:33
朕不想知道 啊
yhf20011008
发表于 2019-8-15 17:50:17
朕想知道
Maxiangwang
发表于 2019-8-15 18:59:56
朕想知道
yefx
发表于 2019-8-16 11:11:26
真想知道
枫语惊天
发表于 2019-8-16 15:44:18
定义的get_data(text)中的text哪来的?
liujin
发表于 2019-8-16 22:29:28
朕想知道
liujin
发表于 2019-8-17 10:40:47
tags = soup.select("ul['tag-area clearfix'] > li")
定位标签的这个还有用么?我试了下报错了:
soupsieve.util.SelectorSyntaxError: Malformed attribute selector at position 2
line 1:
ul['tag-area clearfix'] > li
然后我改成:
# v_tag > ul > li 正常可以定位到
liujin
发表于 2019-8-17 10:43:07
tags = soup.select("ul > li")
加上class=就正常了.....
wyft5t5
发表于 2019-8-17 21:46:23
朕想知道
艾瑞斯克
发表于 2019-8-21 22:35:54
朕想知道
1547459716
发表于 2019-8-30 20:59:15
朕想知道
Wgq
发表于 2019-9-6 15:02:54
朕想知道
翻新机
发表于 2019-9-9 17:33:24
朕想知道
似花非花
发表于 2019-9-18 12:16:11
cc452987852 发表于 2019-5-28 13:29
我的天 可以了我昨天试了一模一样的东西 不可以都惊了
videos = soup.find_all("li", class_="video matrix")
改为
videos = soup.find_all("li", class_="video-item matrix")
B站的 类名换了
lay仰仰
发表于 2019-10-3 11:38:44
朕想知道
贼拉苏
发表于 2019-10-5 18:22:56
朕想知道
名门青衣
发表于 2019-10-7 20:54:19
朕想知道
缪永杰
发表于 2019-10-10 17:53:51
{:10_257:}
轻佻的弧度
发表于 2019-10-17 11:32:42
import requests
import bs4
def open_url(keyword, page, each): #-------------------------打开链接
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36",
"referer": "https://search.bilibili.com"}
order = ["totalrank", "click", "pubdate", "dm", "stow"]
res = []
for i in range(page):
params = {"keyword": keyword,
"order": order,
"duration": "4", # 时长:60分钟以上
"tids_1": "36", # 分区:科技
"page": f"{i+1}"}
url = "https://search.bilibili.com/all"
res.append(requests.get(url, params=params, headers=headers).text)
return res
def get_data(res, page): #-----------------------------------获取数据
title = []
link = []
msg = []
for i in range(page):
soup = bs4.BeautifulSoup(res, "html.parser")
target = soup.find_all("li", class_="video-item matrix")
title.extend( for each in target])
link.extend( for each in target])
target = soup.find_all("span", class_="so-icon")
msg.extend()
msg = for i in range(0,page*80,4)] # 将列表内部划分成多个子列表
return title, link, msg
def save_file(data, page, filename): #-----------------------保存文件
result = []
for i in range(page*20):
result.append(f"【{i+1}】 " + data + "" + data + "" + "".join(data) + "\n\n")
with open(f"E:\\{filename}.txt", "w", encoding="utf-8") as f:
f.writelines(each for each in result)
def main():
keyword = input("请输入关键词:")
page = int(input("请输入需要爬取的页数(1~50):"))
name = ["综合排序", "最多点击", "最新发布", "最多弹幕", "最多收藏"]
for each in range(len(name)):
res = open_url(keyword, page, each)
data = get_data(res, page)
save_file(data, page, name)
if __name__ == "__main__":
main()
=================================================================
感觉我写的比小甲鱼的资源消耗大一些{:10_266:}
若兮一
发表于 2019-10-24 10:19:20
支持!
页:
1
2
[3]
4
5
6
7
8
9
10
11
12