2016-07-28 29 views
-1

我试图从tripadvisor网站刮评论。文字较长的评论部分显示为“更多”链接。我已经使用硒打'更多'的链接,它的工作,但我在我的最终输出文件中再次获得一半的评论。如何获得全文,即使点击链接以使用硒扩展文本?

我发现完整的评论存储在不同的课程中,但我如何访问不同的课程?

请参阅下面我的代码的一部分:

driver.get(full_url) 
driver.find_element_by_css_selector("span.moreLink").click() 
r = requests.get(full_url) 
soup = BeautifulSoup(r.content, "lxml") 
#soup = BeautifulSoup(source, 'html.parser') 
page_count = int(soup.select('.pagination a')[-1].text.strip()) 
page_results = soup.find_all("p", {"class" : "partial_entry"}) 

回答

0

当你做requests.get(full_url).content你所得到的页面的原始标记。这与driver所在的状态无关。(请注意,get呼叫如何通过driver既不通过也不运行driver)。这是一个非常真实的意义,就像在Firefox中打开一个网站,然后运行curl来获取内容 - 两者不知道对方。

您需要做的是询问driver标记当前是什么样的,例如使用driver.find_element_by_css_selector("span").text

+0

好的,谢谢!我试过了,它说你新! –

+0

您需要确定在点击URL后,哪个CSS选择器实际上与内容匹配。 'span'只是一个例子。 – l0b0