使用Python/Selenium进行Web垃圾处理
我试图从Youtube上获取一些数据,但我很难捕捉到文本,以下是我的代码:使用Python/Selenium进行Web垃圾处理,python,html,selenium,web-scraping,beautifulsoup,Python,Html,Selenium,Web Scraping,Beautifulsoup,我试图从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
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盒式疗法\n13802667
订阅者\n加入\n订阅\nWitter\nHOME\n视频\n列表\n社区\n通道\n退出\n说明\n此处
产品裸露。\n\n您将看到各种各样的视频
展示地球上最酷的产品。从最新的
智能手机带给你意想不到的小玩意和技术
存在的。所有这些都是在Unbox治疗上。\n\n业务/专业
仅限查询-业务[位于]unboxtherapy.com\n请不要使用
YouTube收件箱\n链接\n Witter Facebook Instagram官方
网站\n测试\n 2010年12月21日加入\n2698921226视图\n其他酷
频道。\n稍后新建\n订阅\n广播\n订阅
莫里森\n订阅\n奥斯汀
Evans\n订阅\nDetroitBORG\n订阅\nOneytek\n订阅\n文件夹
最了解\n订阅\nUrAvgConsumer\n订阅\n相关
频道\n使用技术
提示\n订阅\n所有内容都要注册\n订阅\n如何使用BOSS\n订阅\n订阅\n技术集市\n订阅
有没有一种方法可以只捕捉描述?那有可能吗
先谢谢你能帮助我的人
最美好的祝愿试试下面的代码。让我知道它是否有效
import bs4 as bs
import re
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.page_source
soup=bs.BeautifulSoup(html,'html.parser')
findtext=soup.find_all('yt-formatted-string',id=re.compile("description"))
for txt in findtext:
print(txt.text)
输出:
Where products get naked.
Here you will find a variety of videos showcasing the coolest products on the planet. From the newest smartphone to surprising gadgets and technology you never knew existed. It's all here on Unbox Therapy.
Business / professional inquiries ONLY - business [at] unboxtherapy.com
(please don't use YouTube inbox)
试试下面的代码。让我知道它是否有效
import bs4 as bs
import re
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.page_source
soup=bs.BeautifulSoup(html,'html.parser')
findtext=soup.find_all('yt-formatted-string',id=re.compile("description"))
for txt in findtext:
print(txt.text)
输出:
Where products get naked.
Here you will find a variety of videos showcasing the coolest products on the planet. From the newest smartphone to surprising gadgets and technology you never knew existed. It's all here on Unbox Therapy.
Business / professional inquiries ONLY - business [at] unboxtherapy.com
(please don't use YouTube inbox)
仅使用selenium即可完成简单解析
driver.get(api_url)
description = drvier.find_element_by_id('description')
print(description.text)
如果您使用chrome并了解inspect
要了解标记名称、id或属性值,请执行以下操作:
只需右键单击要查找元素的描述文本
按如下方式选择“检查”:
然后您可以像这样检查值:
粉红色文本:标记名称
&橙色文本:id
'.'%蓝色文本:属性值
现在使用驱动程序方法
driver.find_by_elemeent_by_tag_name()
driver.find_by_elements_by_tag_name()
driver.find_by_element_id()
driver.find_by_elements_id()
driver.find_by_element_class_name()
driver.find_by_elements_class_name()
仅使用selenium即可完成简单解析
driver.get(api_url)
description = drvier.find_element_by_id('description')
print(description.text)
如果您使用chrome并了解inspect
要了解标记名称、id或属性值,请执行以下操作:
只需右键单击要查找元素的描述文本
按如下方式选择“检查”:
然后您可以像这样检查值:
粉红色文本:标记名称
&橙色文本:id
'.'%蓝色文本:属性值
现在使用驱动程序方法
driver.find_by_elemeent_by_tag_name()
driver.find_by_elements_by_tag_name()
driver.find_by_element_id()
driver.find_by_elements_id()
driver.find_by_element_class_name()
driver.find_by_elements_class_name()
您可以通过ID获取元素,youtube上的快速F12显示您正在查找的ID是对Ank you的描述。当我尝试:a=driver.find\u element\u by\u id'description'时,它返回文本,但也返回大量\n。有没有办法去除它们?以下是返回的文本:产品在何处裸露。\n\n您将看到各种视频,展示地球上最酷的产品。从最新的智能手机到令人惊讶的小玩意和技术,你永远不知道它们的存在。所有这些都在Unbox Therapy上。\n\n仅限业务/专业咨询-业务[位于]Unbox Therapy.com\n请不要使用YouTube Inbox替换新词?或者使用空格?你可以通过ID获取元素,youtube上的快速F12显示你正在寻找的ID是对你的描述。当我尝试:a=driver.find\u element\u by\u id'description'时,它返回文本,但也返回大量\n。有没有办法去除它们?以下是返回的文本:产品在何处裸露。\n\n您将看到各种视频,展示地球上最酷的产品。从最新的智能手机到令人惊讶的小玩意和技术,你永远不知道它们的存在。所有这些都在Unbox Therapy上。\n\n仅限业务/专业咨询-业务[位于]Unbox Therapy.com\n请不要使用YouTube Inbox替换新词?还是使用空格?webdriver的使用有什么特别之处吗?当我使用请求获取html时,我无法找到id,即使它在收到的html中。别介意我是出于兴趣才发现的,你是如何找到“yt格式字符串”的?对不起,我对中国的网络知识不是很了解general@tezzaaa按F12并在我的web浏览器中选择对象browser@Nullman:我刚刚通过chrome inspect查找元素,然后提供了标记名和id值。@Nullman谢谢,我也这样做了。在铬合金中,inspect工作良好。我试图从同一个页面中获取视图等。使用webdriver有什么特别的地方吗?当我使用请求获取html时,我无法找到id,即使它在收到的html中。别介意我是出于兴趣才发现的,你是如何找到“yt格式字符串”的?对不起,我对中国的网络知识不是很了解general@tezzaaa按F12并在我的web浏览器中选择对象browser@Nullman:我刚刚通过chrome inspect查找元素,然后提供了标记名和id值。@Nullman谢谢,我也这样做了。在铬合金中,inspect工作良好。我在试着拉些意见
来自同一页的等非常感谢,这对我和其他不熟悉解析的人都很有用:-非常感谢,这对我和其他不熟悉解析的人都很有用:-