正如前一个问题所述,我正在为QuakeLive网站编写一个爬虫程序.
我一直在使用WWW :: Mechanize来获取网页内容,这对所有网页都有效,除了匹配的网页.问题是我需要获得所有这些ID:
这些用于构建特定的匹配URL,但我根本不能.
我设法只通过FireBug看到这些ID,没有我试过的页面下载器,解析器,getter能够在这里提供帮助.我所能得到的只是一个更简单的页面版本,你可以通过Firefox中的"显示源代码"来看到该代码.
由于FireBug显示了ID,我可以放心地假设它们已经被加载,但是后来我无法理解为什么没有其他东西可以获取它们.它可能与JavaScript有关.
你可以在这里找到一个页面示例
1> rafl..:要获得包含这些ID的DOM,您可能必须在该站点上执行javascript代码.我不知道任何允许你这样做的库,然后在perl中内省生成的DOM,所以只是控制一个实际的浏览器,然后再询问它的DOM,或者只是它的一部分,看起来好像如何解决这个问题.
各种浏览器提供了以编程方式控制的方法.使用基于Mozilla的浏览器,例如Firefox,这可以像加载
mozrepl
到浏览器一样简单,从perl空间打开一个套接字,发送几行javascript代码来实际加载该页面,然后再添加一些javascript代码你是你感兴趣的DOM的部分.然后,您可以使用CPAN上的许多JSON模块之一进行解析.或者,您可以处理在页面上执行的javascript代码并找出它实际执行的操作,然后在您的爬网程序中模仿它.
[`WWW :: Mechanize :: Firefox`](http://p3rl.org/WWW::Mechanize::Firefox)简化了mozrepl,不需要这么做.推荐阅读
如何解决《如何应对竞争条件》经验,为你挑选了1个好方法。 ... [详细] 如何解决《一个TickObject到底是什么?如何防止它成为内存泄漏?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《3-D笛卡尔指向2-D半球形并计算2-DVoronoi单元的面积》经验,为你挑选了0个好方法。 ... [详细] 如何解决《对象初始值设定项中的属性赋值与C#6中的自动属性不在同一级别上》经验,为你挑选了1个好方法。 ... [详细] 如何解决《'List<T>'可能不包含'Object'类型的类型对象》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Sequelize-如何搜索多个列?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《错误的CSS风格》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何从Windows窗体创建.exe文件》经验,为你挑选了1个好方法。 ... [详细] 如何解决《获取pandas数据帧中所有唯一行的计数》经验,为你挑选了1个好方法。 ... [详细] 如何解决《文件扩展的正则表达式》经验,为你挑选了0个好方法。 ... [详细] 如何解决《有没有办法在PIL中指定矩形的宽度?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《什么是MVC6中@Scripts.Render的替代品》经验,为你挑选了1个好方法。 ... [详细] 如何解决《虚拟继承的价格是多少?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《CSS转换旋转仅在div向左浮动时才起作用》经验,为你挑选了1个好方法。 ... [详细] 如何解决《使用UIAppearance更改所有UITableViewCell的文本颜色》经验,为你挑选了0个好方法。 ... [详细] 如何解决《根据JavaScript中的长度将字符串转换为一系列下划线》经验,为你挑选了1个好方法。 ... [详细] 如何解决《GitPushtoRailsProduction给出响应你的Ruby版本是1.9.3,但你的Gemfile指定2.2.2当RubyVersion是2.2.2》经验,为你挑选了0个好方法。 ... [详细] 如何解决《我可以对两个不同的应用程序使用相同的Firebase吗?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在Xamarin.forms上播放声音?》经验,为你挑选了3个好方法。 ... [详细] 如何解决《使用Retrofit反序列化带有文本和子标签的XML标记》经验,为你挑选了1个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1python延迟函数调用
- 2如何删除滚动RecyclerView上的阴影
- 3在<URL>中阻止脚本执行.因为文档的框架是沙箱,并且未设置"allow-scripts"权限
- 4检测ListView何时"向上"或"向下"滚动?Windows Phone 8.1 ListView
- 5Telegram bot api键盘
- 6链接是什么:功能"参数"(范围,元素,attrs)?AngularJS
- 7添加id并使用它的jquery脚本不起作用
- 8plotly js:如何在加载绘图图像后运行我的javascript
- 9Stata访问元素作为标量或宏的矩阵
- 10重构Ruby
- 11java:如何为变量自动生成自定义方法
- 12自定义URI方案和Skype链接
- 13有没有办法关闭JIT编译器,这样做会对性能产生影响吗?
- 14因大小而无法上传文件
- 15当键盘出现在swift中时,向上滚动UITableView
- 16Android上的Cordova全屏启动画面仍显示标题栏
- 17Swing Ui倍增面板重影
- 18移动到vim中行中给定字符的最后一个实例?
- 19应用程序在HttpLoggingInterceptor上崩溃
- 20docker组合中'image'和'build'之间的区别
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有