【问题标题】:WebScraping with Python / Selenium使用 Python / Selenium 进行网页抓取
【发布时间】:2023-04-02 13:06:02
【问题描述】:

我正在尝试从 Youtube 中提取一些数据,但我正在努力捕捉文本,这是我的代码:

username = "unboxtherapy"
driver = webdriver.Chrome('C:/Users/Chrome Web Driver/chromedriver.exe')
api_url = "https://www.youtube.com/user/"+username+"/about"
driver.get(api_url)
html = driver.find_element_by_tag_name('html')
soup=bs(html.text,'html.parser')
text=str(soup)

在上面的示例中,我试图捕捉页面上显示的描述。

soup

返回页面上的所有文本,即我想要的描述 + 大量其他我不想要的东西。

text

返回以下所有文本:

"GB\n登录\n拆箱治疗\n13,802,667
订阅者\n加入\n订阅\nTwitter\n首页\n视频\n播放列表\n社区\n频道\n关于\n描述\n在哪里
产品裸露。\n\n在这里您会找到各种视频
展示地球上最酷的产品。从最新
智能手机到您从未知道的令人惊讶的小工具和技术
存在。一切尽在 Unbox Therapy。\n\n商业/专业
仅限查询 - 业务 [at] unboxtherapy.com\n(请不要使用
YouTube 收件箱)\n链接\nTwitter Facebook Instagram 官方
网站\n统计信息\n2010 年 12 月 21 日加入\n2,698,921,226 次浏览\n其他酷
频道。\nLew 稍后\n订阅\nMarques Brownlee\n订阅\n乔纳森
莫里森\n订阅\n奥斯汀
埃文斯\n订阅\n底特律博格\n订阅\n鲁尼泰克\n订阅\n士兵
最了解\nSUBSCRIBE\nUrAvgConsumer\nSUBSCRIBE\nRELATED
频道\nLinus 技术
提示\nSUBSCRIBE\nJerryRigEverything\nSUBSCRIBE\nMrwhosetheboss\nSUBSCRIBE\nTechSmartt\nSUBSCRIBE"

有没有办法只捕获描述?这可能吗?

提前感谢任何可以帮助我的人。

最好的祝福

【问题讨论】:

  • 您可以通过 ID 获取元素,然后在 youtube 上快速 F12 显示您要查找的 ID 是 description
  • 谢谢。当我尝试:a= driver.find_element_by_id('description') 时,它会返回文本但也返回很多“\n”。有没有办法删除它们?以下是返回的文本:“产品在哪里裸露。\n\n在这里,您会找到展示地球上最酷产品的各种视频。从最新的智能手机到令人惊讶的小工具和您从未知道的技术。都在这里关于 Unbox Therapy。\n\n仅限商业/专业咨询 - 商业 [at] unboxtherapy.com\n(请不要使用 YouTube 收件箱)"
  • 用新行替换“\n”?还是带空格?

标签:
python
html
selenium
web-scraping
beautifulsoup