Python爬取动态生成的网页(框架)需要具备哪些知识或者使用哪些库?
我想用Python做一个结构大致为”歌手-歌曲名-专辑名-歌曲时长“的数据库,搜索许多网页,发现QQ音乐会显示歌曲时长,比如,许巍的所有单曲:http://y.qq.co...
我想用Python做一个结构大致为”歌手-歌曲名-专辑名-歌曲时长“的数据库,搜索许多网页,发现QQ音乐会显示歌曲时长,比如,许巍的所有单曲:http://y.qq.com/#type=singer&id=3376
但是QQ音乐貌似是用的是某Javascript框架(我对这块儿了解很少),所以无法通过直接读取网页源码的方式进行获取。另外,即使使用Chrome显示的”框架源代码“,也无法获取当前页面所有的歌曲的长度(我的环境下框架源代码中显示的只有12首,而不是整个页面显示的30+首)。
题主对于BeautifulSoup以及Python内置的相关库有初步了解,但是scrape动态网页的经验没有。我通过搜索,知道有一个Ghost.py,但是貌似仍然无法满足我的需求。
希望有类似经验的朋友能指点一下:为了完成这个目标,1. 我需要了解哪些方面的知识?(比如,这个任务对JS要求高吗?题主只看过Mozilla上的一个指南)2. 需要使用哪些外部的库 3. 如果可以的话,能否告知这个库里面与我的目标直接相关的有哪些知识?
如果有比较有帮助的一些文章,也可以贴上来呀。十分感谢! 展开
但是QQ音乐貌似是用的是某Javascript框架(我对这块儿了解很少),所以无法通过直接读取网页源码的方式进行获取。另外,即使使用Chrome显示的”框架源代码“,也无法获取当前页面所有的歌曲的长度(我的环境下框架源代码中显示的只有12首,而不是整个页面显示的30+首)。
题主对于BeautifulSoup以及Python内置的相关库有初步了解,但是scrape动态网页的经验没有。我通过搜索,知道有一个Ghost.py,但是貌似仍然无法满足我的需求。
希望有类似经验的朋友能指点一下:为了完成这个目标,1. 我需要了解哪些方面的知识?(比如,这个任务对JS要求高吗?题主只看过Mozilla上的一个指南)2. 需要使用哪些外部的库 3. 如果可以的话,能否告知这个库里面与我的目标直接相关的有哪些知识?
如果有比较有帮助的一些文章,也可以贴上来呀。十分感谢! 展开
5个回答
推荐于2016-08-06
展开全部
1、抓取网页,模拟登陆等背后的通用的逻辑和原理;
2、以提取songtaste网页中标题为例,详解如何抓取网站并提取网页内容;
3、以模拟登陆百度为例,详解如何模拟登陆网站;
4、以抓取网易博客帖子中的最近读者信息为例,详解如何抓取动态网页中的内容;
5、详解了在模拟登陆和抓取动态网页过程中,如何用对应的网页分析工具,如IE9的F12,Chrome的Ctrl+Shift+J,Firefox的Firebug,去分析出对应的逻辑;
6、针对抓取网站,模拟登陆,抓取动态网页,全部给出了完整的可用的,多种语言的示例代码:Python,C#,Java,Go等。
2、以提取songtaste网页中标题为例,详解如何抓取网站并提取网页内容;
3、以模拟登陆百度为例,详解如何模拟登陆网站;
4、以抓取网易博客帖子中的最近读者信息为例,详解如何抓取动态网页中的内容;
5、详解了在模拟登陆和抓取动态网页过程中,如何用对应的网页分析工具,如IE9的F12,Chrome的Ctrl+Shift+J,Firefox的Firebug,去分析出对应的逻辑;
6、针对抓取网站,模拟登陆,抓取动态网页,全部给出了完整的可用的,多种语言的示例代码:Python,C#,Java,Go等。
2013-04-15
展开全部
对于动态生成(前端JS后继运算加载)的页面,只看html源代码是没有用的,需要由webkit等浏览器引擎执行过js代码之后,才能使页面完全展现出来.
可以通过直接使用浏览器内核输出页面的方式来得到最终代码.
我使用的是phantomjs来得到最终页面代码.
可以通过直接使用浏览器内核输出页面的方式来得到最终代码.
我使用的是phantomjs来得到最终页面代码.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要网页编程基础,懂一些简单的ajax,需要会一种网页抓包调试工具。在Mozilla里有一个firebug。
如果有人教你,几天。我遇到一个人,教了她一个星期也没有弄会。
自己摸索有些难。可能也需要一个星期左右时间。
如果有人教你,几天。我遇到一个人,教了她一个星期也没有弄会。
自己摸索有些难。可能也需要一个星期左右时间。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-14 · 知道合伙人软件行家
关注
展开全部
哦, 现在很多网站用了ajax,会动态的加载页面内容。你可以使用python模仿每次动态加载的请求就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
弱弱的问一下楼主有没有什么进展,我也在爬瀑布流网站,可以交流下经验吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询