【问题标题】:Youtube scrapingYoutube 抓取
【发布时间】:2020-07-24 07:07:32
【问题描述】:

对于下面的代码,我在不喜欢行语法中遇到错误

headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'}

def scrape_info(url):
   r = requests.get(url, headers=headers)
   s = BeautifulSoup(r.text, "html.parser")
   title = s.find("span", class_="watch-title").get_text(strip=True)
   views = unicodedata.normalize('NFKD', s.find("div", class_="watch-view-count").get_text(strip=True))
   likes = s.find("span", class_="like-button-renderer").span.button.get_text(strip=True)
   dislikes = s.find("span", class_="dislike-button-renderer").span.button.get_text(strip=True)
   data = {'url': url, 'title':title, 'views':views, 'likes':likes }
   return data
ERROR- AttributeError: 'NoneType' object has no attribute 'span'

如何添加上传日期、不喜欢的次数、相同的 cmets 等信息?

【问题讨论】:

    标签: python web-scraping beautifulsoup


    【解决方案1】:

    你得到这个错误的原因是因为

    dislikes = s.find("span", class_="dislike-button-renderer")
    

    返回一个NoneType 对象,这也意味着程序没有找到任何与您在括号中指定的内容相匹配的内容。相反,您可以使用if 语句:

    dislikes = s.find("span", class_="dislike-button-renderer")
    if dislikes:
        dislikes = dislikes.span.button.get_text(strip=True)
    

    【讨论】:

    • 如何添加上传日期、不喜欢的次数、相同的 cmets 等信息?
    猜你喜欢
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2020-10-09
    • 2021-07-24
    • 2022-01-23
    • 2021-12-02
    • 2021-03-10
    • 2011-09-08
    相关资源
    最近更新 更多