saltorsugar 2021-11-29 20:10 采纳率: 66.7%
浏览 141
已结题

爬虫爬取时返回空列表

代码如下
写一半测试时发现返回一堆空列表



```python
import sys
import re
import urllib.request
import xlwt
from bs4 import BeautifulSoup

#定义正则表达式筛选规则
findLink=re.compile(r'<a href="(.*?)" target="_blank" class="title">.*?</a>',re.S)#视频链接

#获取对应url网页的数据
def get_url(url):
    head = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34"}#模拟计算机访问网页
    request = urllib.request.Request(url,headers=head)#以headers身份访问url网页
    html=''
    try:
        reponse = urllib.request.urlopen(request)
        html = reponse.read().decode('utf-8')
    except urllib.error.URLError as e:
        if hasattr(e,'code'):
            print(e.code)
        if hasattr(e,'reason'):
            print(e.reason)
    return html

#调用get_url函数获取指定网页数据,以html形式存储
def get_data(baseurl):
    data_list=[]
    html=get_url(baseurl)#获取get_url爬到的数据
    soup=BeautifulSoup(html,'html.parser')#定义使用html解读器解读数据的变量soup
    for item in soup.find_all('div',class_="content"):
        item=str(item)
        link=re.findall(findLink,item)#寻找链接
        #data_list.append(link)#保存链接
        print(link)
    return data_list
get_data('https://www.bilibili.com/v/popular/rank/all')


  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-11-29 20:22
    关注

    正则去掉class内容,bilibili源代码没有class

    img

    
    findLink=re.compile(r'<a href="(.*?)" target="_blank">.*?</a>',re.S)#视频链接
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料