使用urllib2刮取this页时:
url = https://www.geckoboard.com/careers/
response = urllib2.urlopen(url)
content = response.read()
在源(content
)中找不到以下元素(到作业的链接)
查看在浏览器中呈现的完整源代码:
因此,前端工程师元素似乎是由Javascript动态加载的。有没有可能让urllib2(或其他低级库)执行这个Javascript,而不涉及Selenium、BeautifulSoup或其他类似的程序?你知道吗
我想你在找这样的东西:https://github.com/scrapinghub/splash
这些信息是使用一些
ajax request
加载的。你可以使用firebug
扩展mozilla
或者googlechrome有自己的工具来获取这些细节。只需在googlechrome中点击f12
,同时打开URL。你可以在那里找到完整的细节。你知道吗在那里你会发现一个url为
https://app.recruiterbox.com/widget/13587/openings/
的请求来自上述url的信息将呈现在该网页中。你知道吗
据我所知,您正在为多个网站构建一些通用的,不想深入了解某个网站是如何加载的,在引擎盖下生成什么请求来构建页面。在本例中,真正的浏览器是您的朋友—通过^{} 在真正的浏览器中自动加载页面—然后,在加载页面后,将
.page_source
传递给lxml.html
(据我所知,这是您选择的HTML解析器),以便进一步解析。你知道吗如果你不想让浏览器出现或者你没有显示器,你可以去无头的^{} 或者一个virtual display上的普通浏览器。你知道吗
下面是一个示例代码,让您开始:
您还应该知道,这里有很多methods to locate elements in selenium,您甚至不需要单独的HTML解析器。你知道吗
相关问题 更多 >
编程相关推荐