У меня есть структура:
[
# If it is a comment (parent comment)
{
'commentParentId': '',
'parentId': '',
'posted': '28/02/2019',
'author': {
'id': '125379',
'name': 'david',
},
'content': 'i need help'
},
# If it is a comment reply
{
'commentParentId': 'abcdedf',
'parentId': '253654',
'posted': '28/02/2019',
'author': {
'id': '458216',
'name': 'david',
},
'content': 'i need help'
},
........................
}]
Я хочу отказаться от комментариев и ответов на комментарии,
Если это комментарий: CommentParentID
и ParentID
равны null
.
Иначе, это ответ на комментарий: CommentParentID
и ParentID
возьмут ID
из комментария, на который кто-то ответил.
Я удаляю комментарии, используя Selenium, например:
import requests
from bs4 import BeautifulSoup
import json
from datetime import datetime
from selenium import webdriver
# Execute Web link
url = "https://genvita.vn/thu-thach/7-ngay-detox-da-dep-dang-thon-nguoi-
khoe-qua-soc-len-den-8-trieu-dong"
driver_path = ('F:/chromedriver.exe')
browser = webdriver.Chrome(executable_path=driver_path)
browser.get(url)
confirm_write = input("Input ok to scrap data: ")
# I want to load all comments (click 'Xem Thêm' then data was
# scrapper)
if confirm_write == 'ok':
getID = browser.find_element_by_css_selector("div[class='media-body-
replies']")
getChildID = getID.find_elements_by_css_selector('data-comment-id')
# Get ID
for childID in getChildID:
print(childID.get_attribute('data-comment-id'))
Но мой код не работает.
Комментарий и ответ на комментарий имеют одинаковый класс, одинаковый идентификатор, только разница между комментарием и комментарием - это класс: class ='media-body-replies'
.
Но я использую это, и оно не работает.
Если я использую getChildID = browser.find_elements_by_css_selector('data-comment-id')
, я получу все идентификаторы parentID
и replyID
(аналогично контенту)Я не могу отделить комментарий от комментария.
Спасибо