【发布时间】:2015-08-27 08:43:34
【问题描述】:
我尝试了各种选项,例如Selenium、BeautifulSoup...等来抓取以下站点/页面:http://item.jd.com/526444.html#comment。我正在尝试抓取评论/部分:其中有 6000 多个,由 JS、jQuery 等动态加载。我已经阅读现有文章好几天了,到目前为止还没有成功。您的帮助将不胜感激。网站是中文的。我在下面附上了一个屏幕截图,所以你知道该看哪里。谢谢!我尝试了 Selenium,但每次都挂起。不知道为什么。
from selenium import webdriver
import time
from pandas import DataFrame
from urllib.request import urlopen
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.PhantomJS(executable_path=r'C:\phantomjs')
driver = webdriver.Chrome(executable_path=r'C:\chrome')
driver.get("item.jd.com/526444.html#comment")
try:
element = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,'loadedButton')))
finally:
print(driver.find_element_by_id('content').text)
driver.close()
driver.page_source
bsObj = BeautifulSoup(driver.page_source)
import requests
from lxml import html
response = requests.get('http://pycoders.com/archive/')
tree = html.fromstring(response.text)
print(tree.xpath('//divass="campaign"]/a/@href'))
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
from lxml import html
from bs4 import BeautifulSoup
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://item.jd.com/526444.html#comment'
r= Render(url)
result = r.frame.toHtml()
jd = BeautifulSoup(result)
jd.find('span', {'class':'desc'})
【问题讨论】:
-
你试过什么?请提供代码示例和错误,以便我们指导您正确的方向。
-
@JeffC 是的,我刚刚更新了代码。我尝试了不同的东西,抱歉代码很乱。我尝试了 Selenium,然后它无缘无故挂了。我试过 PyQt 也无法捕捉到我想要的评论。提前感谢您的帮助!
-
请提供必要的页面标记。
标签: javascript jquery selenium scrape