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

爬虫爬取时返回空列表

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



```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 php5.3内存泄露
    • ¥15 DigSilent如何复制复合模型到自己案例?
    • ¥15 求日版华为b610s-77a 官方公版固件,有偿
    • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
    • ¥15 linux tsi721的驱动编译后 insmod 提示 报错
    • ¥20 multisim测数据
    • ¥15 求无向连通网的所有不同构的最小生成树
    • ¥15 模拟器的framebuffer问题
    • ¥15 opencv检测轮廓问题
    • ¥15 单点式登录SSO怎么爬虫获取动态SSO_AUTH_ACCESS_Token