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

爬虫爬取时返回空列表

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



```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 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)