【发布时间】:2020-09-29 16:15:37
【问题描述】:
感谢您查看这篇文章。
我试图让 cmets 了解一则新闻。 其中一条新闻有大约 11k cmets,其中大约有 6k cmets 能够收集。 这是链接:https://n.news.naver.com/mnews/article/comment/023/0003390153?sid=102 (虽然是韩文页面,但对你来说无所谓。)
您可能注意到这是一个移动版网页,您需要使用
driver.find_element_by_xpath("//span[@class='u_cbox_page_more']").click()
直到它显示完整的 cmets。
问题是,我选择获取数据的方式太慢了。花了一个多小时,我不得不打断它。 这是我使用的代码。
content = []
name = []
r_time = []
comment_list = driver.find_elements_by_xpath("//ul[@class='u_cbox_list']/li")
for comment in comment_list:
try:
con = comment.find_element_by_xpath(".//span[@class='u_cbox_contents']").text
content.append(con)
except NoSuchElementException:
continue
name.append(comment.find_element_by_xpath(".//span[@class='u_cbox_nick']").text)
r_time.append(comment.find_element_by_xpath(".//span[@class='u_cbox_date']").text)
我还有更多新闻要抓取,我不能冒险坐下来等它获取所有评论。应该有更好的方法来收集它。 我试图找到一种使用 Java Script 的方法,但我找不到使用 python 为 selenium 编写的方法。遗憾的是,我对 JavaScript 本身并不熟悉。
但是如果有办法并且有人可以向我展示一些示例,我可以快速学习。 希望有人能启发我。 感谢您抽出宝贵时间,并提前感谢您的帮助。
【问题讨论】:
标签: javascript python-3.x selenium selenium-webdriver