【发布时间】:2019-03-25 21:38:46
【问题描述】:
我正在 T-Mobile 网站上搜索有关三星 Galaxy S9 的评论。我可以为 HTML 代码创建一个 Beautiful Soup 对象,但我无法获取跨度类中存在的评论文本,还需要遍历评论页面以收集所有评论。
我尝试了 2 个代码,但一个返回错误,另一个返回一个空列表。我也无法在汤对象中找到我需要的特定跨度类。
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
tmo_ratings_s9 = []
req = Request('https://www.t-mobile.com/cell-phone/samsung-galaxy-s9', headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
tmo_soup_s9 = BeautifulSoup(webpage, 'html.parser')
tmo_soup_s9.prettify()
for review in tmo_soup_s9.find_all(class_="BVRRReviewText"):
text = review.span.get_text(strip=True)
tmo_soup_s9.append(text)
print(tmo_ratings_s9)
############################################################################
from urllib.request import urlopen
html = urlopen("https://www.t-mobile.com/cell-phone/samsung-galaxy-s9")
soup=BeautifulSoup(html)
ratings = soup.find_all('div', class_='BVRRReviewTextParagraph BVRRReviewTextFirstParagraph BVRRReviewTextLastParagraph')
textofrep = ratings.get_text().strip()
tmo_ratings_s9.append(textofrep)
我希望从网页上的所有 8 个页面中获取评论文本并将它们存储在 HTML 文件中。
【问题讨论】:
-
请提供minimal reproducible example。这将增加您获得适当答案的机会。此外,它还可以帮助您自己解决问题。
-
@shash678:我不知道硒......有没有办法可以在python中刮掉它......特定的div类 Terrible ** 是甚至不存在于汤对象中
-
@shash678:但是当前的代码也不能用于抓取第 1 页的网页评论,应该怎么做?我也在考虑将网页作为 HTML 格式保存在我的本地驱动器上,然后将其废弃……那有可能吗?
-
@SukritSen 看看我的回答
标签: python html web-scraping