Python实现抓取就这个提问页面访问量的访问量,如何实现?

(千夫影子)
(小白变大牛)
(小白变大牛)
第三方登录:python-问一个关于Python抓取页面跳转的问题(略愚蠢。。。)
作者:用户
浏览:451 次
问一个关于Python抓取页面跳转的问题(略愚蠢。。。)真的。可能这问题真的挺愚蠢。。。但咱还是厚着脸皮问下大神了。。。问题是这样的:我在做一个抓取我们学校教务系统课表的爬虫,登陆的已经写好了,问题出
问一个关于Python抓取页面跳转的问题(略愚蠢。。。)
真的。可能这问题真的挺愚蠢。。。但咱还是厚着脸皮问下大神了。。。
问题是这样的:我在做一个抓取我们学校教务系统课表的爬虫,登陆的已经写好了,问题出在登陆以后怎么跳转。
登陆后的页面和切换到(跳转到)课程表页面的url是一样一样的...
而且wireshark抓包也没发现任何post数据包-问一个关于Python抓取页面跳转的问题(略愚蠢。。。)-抓取成功 有跳转">
教务系统截图如下
也是没任何post包,我试了下postdata也是没抓取到课程表页面...
总结一下:
1、页面跳转后url和跳转前一致
2、没任何post数据包...
求大神解答,轻喷啊:(
解决方案二:
【云栖快讯】新年大招!云栖社区为在读大学生/研究生准备了一份学(huan)习(zhuang)攻略,发布博文即有机会赢得iPad mini 4等大奖,学习换装两不误!欢迎报名参与~&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)我知道如果用php写网络爬虫自动抓取网页内容,那可以用现成函数,有url做参数就可以抓取到网页所有内容然后正则提取需要的内容。
那javascript有没有这种功能,例如我想在我自己的电脑上抓取大量网站,本机又无服务器环境,能否用js实现????有无类似功能?
如果给js一个url,它能否通过它抓取出这个页面的内容?
听说有类似ff插件,js写的能实现。具体不知道什么原理。
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
用Node.js做后端,http模块提供了获取网页的功能,然后你要做的就是分析其中的链接,然后继续抓取数据,示例代码如下:
var http = require('http');
var options = {
host: 'www.dewen.net.cn',
path: '/',
method: 'GET'};
var req = http.get(options, function(res) {
var pageData = "";
res.setEncoding('UTF-8');
res.on('data', function (chunk) {
pageData +=
res.on('end', function(){
console.log(pageData);
//这里处理抓取到的数据
不需要Firefox插件,需要Service-Side Javascrtip才能完成这样的功能。
可能,但是不现实。
首先一个爬虫需要能将爬取的内容进行归档和保存,JS没有直接的接口可以操作本地文件或者数据库,虽然可以通过flash或者firefox插件间接访问本地文件,但是也存在很多限制。
其次JS有安全限制,跨域的URL是无法直接访问的,也可以通过一些间接手段弥补,但非常麻烦
最后,爬虫需要有健壮的接口,还要考虑多并发高性能。JS只能通过计时器模拟多并发,而且非常容易内存泄漏,JS的爬虫很可能跑几个小时内存就满了,却没有办法回收。
爬虫还是建议考虑用C++这样的高性能语言,脚本语言可以考虑Python实现的,JS用来玩玩可以
首先,楼主意识上认为的是客户端脚本获取Javascript分两种编程
客户端脚本(常用Web开发客户端脚本)
服务端脚本(Node.js)
楼主要记得客户端脚本跨域是有限制的,如果想抓站 还是要借助后台实现,楼主现在可以用php 并不一定要用服务器,win下举例:php_path:\php.exe work_path\run.php这样也是可以跑脚本的如果想要结果输出也可以php_path:\php.exe work_path\run.php &out_path\result.txt
楼主想用的是工具脚本而非Web应用所以并不一定要借助服务器
我分别用过三种方式写过一些简单的爬虫, 下面是我对爬虫的理解和方法的总结(欢迎大家纠正和补充):
使用任何语言的http库(比如python的urllib2, 或者使用支持连接池的urllib3来提升效率), 外加解析html的库(比如python的beautifulsoup). 使用urllib来模拟get/post请求,从而抓取网页, 再通过解析html的库来获取需要抓取的内容. 能够得到一个页面的内容, 就可以通过url得到所有页面的内容.优点: 直接, 快速, 占用资源少, 可以多个进程/线程一起跑, 可以在命令行完成缺点: 这种方式的致命缺点是, 让遇到页面是通过js动态渲染或者通过ajax动态加载的内容, 则很难得到该页面的内容了. 这种情况下还需要js解释器(也可以说是浏览器)来进一步解析, 来得到想得到的内容.PS: 在遇到ip限制的时候可以设置代理.
使用firefox/chrome浏览器插件的方式(也就是javascript+浏览器的方式做爬虫)使用firefox的插件, 就不存在跨域访问提交的问题了. 这里是我去年写过的一个简单的firefox插件, 比较粗糙, 但是基本的流程是通的. 基本原理就是使用浏览器加载页面后, 用javascript/jquery来模拟点击等事件, 获取相应的内容, 然后post到远程服务器的url, 进行处理和保存. 或者写入浏览器本地的存储(比如sqlite)优点: 直观, 纯js实现, 方便使用jquery, 易于调试, 解决了方法1的动态内容渲染问题, 可以和浏览器交互, 容易解决验证码输入等限制缺点: 必须依赖本地浏览器, 速度慢, 比起方法1耗资源, 比较难多进程/线程, 或多或少的需要认为干预(因为我的代码写的不够好...)
第三种方法使用一个叫做的神器, 它是一个支持多语言接口的库, 通过它可以使用java/python/ruby等语言来操作浏览器(firefox/chrome等)来完成任务,通常用于前端代码的测试. 用这种方法写的爬虫, 还是通过python/java等语言来写主体结构(分析修改数据,存入数据库等等), 并通过selenium的js/jquery接口, 完成对网页内容的渲染和触发.优点: 结合了方法1,2的大部分优点.
1、基于web browser的无法实现,因对跨域访问限制,这个就不细说了,资料一大堆。
2、如果是本地宿主HOST,权限上是可以的,比如HTA(HTML Application)可以直接调用XMLHTTP、WinHttp等组件实现,特别值得一说的是WinHttp.WinHttpRequest所有php curl支持的它都支持。
可以,但是要想办法解决跨域访问的问题。我已经实现了用JS才做爬虫。流程很简单:自己的建了一个WEB项目作为爬虫,通过访问自己的项目,并让在项目页面中以iframe方式打开目标网址,用项目中的JS代码操作iframe中的页面,并把抓取到的数据通过ajax或普通请求提交到自己的服务器。
至于怎么解决跨域问题,我是借助了apache的代理实现了,比如:把weibo.com指向127.0.0.1,然后通过apache代理,把weibo.com/js_robot_hello_world指向自己的项目,其他请求正常指向weibo.com/相应的子目录
就可以实现了。
可以,我以前用JS写了个采集软件,速度还行!!
用C#也可以实现爬虫,用js脚步个人感觉非常麻烦
用node.js 与phantomjs可以实现。
试着访问到网站之后,js用获取正文等算法,然后form表单提交到服务器去。
我又要说了,nodejs 和 js 不一样!node为了解决高io高并发的问题而生的。不过正好用了js语言,放v8里跑而已。所以我一直认为,js就是放浏览器里跑的,nodejs是服务器上的。别搞混了。爬虫是要有爬虫的节操的好么?有写网站已经设置了不让爬,你也要做到不爬。
这个放在浏览器里明显不现实,首先你怎么跨域?其次如何做到爬虫的节操?有人说用jsonp,有些人是不是一遇到跨域就说jsonp啊,先去看看jsonp的定义和实现细节好么。当然了,你硬要做,也是可以的,楼上好多为了用js而js的。但是何必呢,用iframe来,这是有多麻烦,要监听iframe里面dom ready,要搞一堆和爬虫本身无关的事情。关键在于,你一定要在浏览器里跑,但是脱离不了服务器端的配合,甚至还有路由之类的奇奇怪怪的事情。
如果你硬要用js语法来写这个东西,就用nodejs,放服务器上跑。然后这样和php什么的有什么区别么 …… 不过语法不同而已。
不是您所需,查看更多相关问题与答案
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (31964) 次如何使用Python 进行获取网页信息 最好有图_百度知道
如何使用Python 进行获取网页信息 最好有图
我有更好的答案
爬虫啊导入request模块
#&coding&=&ut-8import&requestsurl&=&'http://www.chinapython.top/'html_str&=&requests.get(url).text&&&#&发起请求,将结果转换为文本print(str)如果你要提取数据可以采用正则、xptah等方法
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 页面访问量统计 的文章

 

随机推荐