微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Selenium和Beautiful Soup的Python Scraping JavaScript

我正在尝试使用BS和Selenium抓取一个JavaScript启用页面.
到目前为止,我有以下代码.它仍然不会以某种方式检测JavaScript(并返回一个空值).在这种情况下,我试图在底部刮掉Facebook的评论. (Inspect元素将类显示为postText)
谢谢您的帮助!

from selenium import webdriver  
from selenium.common.exceptions import NoSuchElementException  
from selenium.webdriver.common.keys import Keys  
import BeautifulSoup

browser = webdriver.Firefox()  
browser.get('http://techcrunch.com/2012/05/15/facebook-lightBox/')  
html_source = browser.page_source  
browser.quit()

soup = BeautifulSoup.BeautifulSoup(html_source)  
comments = soup("div", {"class":"postText"})  
print comments

解决方法:

您的代码中存在一些错误,修复如下.但是,类“postText”必须存在于其他地方,因为它没有在原始源代码中定义.
修改后的代码版本已经过测试,可以在多个网站上运行.

from selenium import webdriver  
from selenium.common.exceptions import NoSuchElementException  
from selenium.webdriver.common.keys import Keys  
from bs4 import BeautifulSoup

browser = webdriver.Firefox()  
browser.get('http://techcrunch.com/2012/05/15/facebook-lightBox/')  
html_source = browser.page_source  
browser.quit()

soup = BeautifulSoup(html_source,'html.parser')  
#class "postText" is not defined in the source code
comments = soup.findAll('div',{'class':'postText'})  
print comments

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐