如何获得具有相同ID,具有相同父类ID的同一类的ID评论回复(使用Selenium刮板数据)

时间:2019-03-03 06:56:56

标签: python selenium selenium-webdriver

我有一个结构:

[
 # 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'
  },
  ........................
  }]

我要取消评论和评论回复,

如果是注释:CommentParentIDParentIDnull

否则,这是一条评论回复:CommentParentIDParentID将从别人回复的评论中提取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'))

但是我的代码无法正常工作。

评论和评论回复具有相同的类别,相同的ID,只是评论和评论回复之间的区别是类别:class ='media-body-replies'

但是我正在使用它,它不起作用。

如果我使用getChildID = browser.find_elements_by_css_selector('data-comment-id')

我将获得parentIDreplyID的所有ID(与内容类似),我无法在评论和评论回复之间分开。

谢谢

0 个答案:

没有答案