제 의도는 웹 페이지 (http://www.mouthshut.com/mobile-operators/Reliance-Jio-reviews-925812061)에서 이름, 위치, 게시 시간, 리뷰 제목 및 전체 리뷰 내용을 얻는 것입니다.셀레늄을 이용한 웹 스크랩
내 코드 :
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/etc/firefox'
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get('http://www.mouthshut.com/mobile-operators/Reliance-Jio-reviews-925812061')
soup = BeautifulSoup(driver.page_source,"lxml")
for link in soup.select(".profile"):
try:
profile = link.select("p:nth-of-type(1) a")[0]
profile1 = link.select("p:nth-of-type(2)")[0]
except:pass
print(profile.text,profile1.text)
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get('http://www.mouthshut.com/mobile-operators/Reliance-Jio-reviews-925812061')
soup1 = BeautifulSoup(driver.page_source,"lxml")
for link in soup1.select(".col-10.review"):
try:
profile2 = link.select("small:nth-of-type(1)")[0]
profile3 = link.select("span:nth-of-type(3)")[0]
profile4 = link.select("a:nth-of-type(1)")[0]
except:pass
print(profile2.text,profile3.text,profile4.text)
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.get('http://www.mouthshut.com/mobile-operators/Reliance-Jio-reviews-925812061')
soup2 = BeautifulSoup(driver.page_source,"lxml")
for link in soup2.select(".more.review"):
try:
containers=page_soup.findAll("div",{"class":"more reviewdata"})
count=len(containers)
for index in range(count):
count1=len(containers[index].p)
for i in range(count1):
profile5 = link.select("p:nth-of-type(i)")[0]
except:pass
print(profile5.text)
driver.quit()
나는 이름, 위치, 시간과 검토의 제목 출력을 얻고 있지만 사용자의 전체 리뷰를 얻을 수 없습니다입니다. 누구든지 내 코드의 최적화와 함께 동일한 결과물을 얻는 데 도움이된다면 (즉) 웹 페이지를 한 번만로드하여 필요한 코드를 추출하도록 코드를 작성해 주시면 감사하겠습니다. 또한 누군가가 웹 사이트의 모든 웹 페이지에서 Jio의 모든 고객 리뷰를 추출하는 데 도움이 될 수 있다면 매우 도움이 될 것입니다.