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
查看完整版本: 找出B站最受欢迎的编程课程