首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用python获取get浏览器的源代码

如何用python获取get浏览器的源代码
EN

Stack Overflow用户
提问于 2013-01-11 10:56:34
回答 4查看 4.6K关注 0票数 2

我正在用scrapy写一个爬虫,但是,我遇到了一些用js渲染的网站,因此urllib2.open_url不能工作。我发现我可以用webbrowser.open_new(网址)打开浏览器,但是我不知道如何用webbrowser获取页面的源码。有没有什么方法可以用webbrowser来做这件事,或者有没有其他没有webbrowser的解决方案来处理js站点?

EN

回答 4

Stack Overflow用户

发布于 2013-01-11 11:14:44

你可以使用带有Webkit引擎的scraper。

其中之一就是干刮。

示例:

代码语言:javascript
复制
import dryscrape

search_term = 'dryscrape'

# set up a web scraping session
sess = dryscrape.Session(base_url = 'http://google.com')

# we don't need images
sess.set_attribute('auto_load_images', False)

# visit homepage and search for a term
sess.visit('/')
q = sess.at_xpath('//*[@name="q"]')
q.set(search_term)
q.form().submit()

# extract all links
for link in sess.xpath('//a[@href]'):
  print link['href']

# save a screenshot of the web page
sess.render('google.png')
print "Screenshot written to 'google.png'"

有关详细信息,请访问:

https://github.com/niklasb/dryscrape

https://dryscrape.readthedocs.org/en/latest/index.html

票数 5
EN

Stack Overflow用户

发布于 2013-01-11 11:29:54

如果你需要一个完整的js引擎,有很多方法可以从Python驱动webkit。直到最近,这类事情都是用Selenium完成的。Selenium驱动了整个浏览器。

最近,从Python运行webkit引擎(包括v8 javascript引擎)有了更新、更简单的方法。请看这个SO问题:Headless Browser for Python (Javascript support REQUIRED!)

它引用了这个博客作为示例Scraping Javascript Webpages with Webkit。它看起来或多或少就是你所需要的。

票数 1
EN

Stack Overflow用户

发布于 2013-01-12 23:10:23

几天来,我一直在努力寻找同一问题的答案。

我建议你用WebKit来试试QT framework。有两个python绑定。一个是PyQt,另一个是PySide。如果你想创建更复杂的东西,或者你想100%控制你的代码,你可以直接使用它们。

对于一些琐碎的事情,比如在浏览器环境中执行JavaScript,您可以使用Ghost.py。当从命令行使用它时,它有some sort of documentation和一些问题,但除此之外,它是很棒的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14270939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档