- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个相当新的网站(大约 3 周前)在 Tomcat 上运行,到目前为止访问者数量很少。
上周我注意到有 1,000 多个 Activity session ,并且检查 Tomcat 的 localhost_access* 日志显示绝大多数来自此范围内的 IP:119.63.196.* 看起来都属于百度日本。
这是他们点击首页的日志中的一个小例子。119.63.196.107 - - [24/Aug/2011:07:02:46 +0000] "GET/;jsessionid=94085F76780ACFD96C8109A29446288D HTTP/1.1"200 10311119.63.196.44 - - [24/Aug/2011:07:03:21 +0000] "GET/;jsessionid=943133C77BB1756CF11592115BA81725 HTTP/1.1"200 10333119.63.196.39 - - [24/Aug/2011:07:03:56 +0000] "GET/;jsessionid=9B4384BDECF540C8628467F7AB4AB463 HTTP/1.1"200 10311119.63.196.19 - - [24/Aug/2011:07:04:31 +0000] "GET/;jsessionid=A0B555C3A18377D993B97D4491DD1012 HTTP/1.1"200 10311119.63.196.45 - - [24/Aug/2011:07:05:10 +0000] "GET/;jsessionid=A3782FA61558BF11C4D5AC4F3DD1EC86 HTTP/1.1"200 10311119.63.196.23 - - [24/Aug/2011:07:05:53 +0000] "GET/;jsessionid=A3AF84EF13F21492EB47FAB001A1C2E5 HTTP/1.1"200 10311119.63.196.120 - - [24/Aug/2011:07:06:31 +0000] "GET/;jsessionid=A7C490CEC2C7F2969772AC4050C6D761 HTTP/1.1"200 10311119.63.196.108 - - [24/Aug/2011:07:07:07 +0000] "GET/;jsessionid=A7F769D354CB37E99843292D650D6367 HTTP/1.1"200 10311
没有一个单独的 IP 破坏该站点,但来自该 IP 范围的集体请求正在增加活跃 session 。而且他们似乎以某种协调的方式来做这件事,因为一次一页将成为目标,并在 20 分钟的时间内在 119.63.196.* IP 范围内收到约 30 次点击,约 30 次不同。然后它会转到另一个页面……这几乎一整天都在进行,并且会累积 Tomcat session 。
我确实将非 Activity session 超时设置得相当高(720 分钟),也许我需要将这个数字降低很多。也许百度日本经常检查是因为它认为页面因链接的变化而发生变化(即 jsessionid 总是不同的)?
感谢阅读。我欢迎任何/所有建议!
埃里克
最佳答案
如果配置 CrawlerSessionManagerValve
,Tomcat 7 可以防止创建数千个 session 。有一个短documentation .
此外,您可能需要考虑阻止 Tomcat 将 session ID 放入 URL,因为它随后会显示在搜索引擎中。再次从 Tomcat 7 开始,您可以这样配置:
<session-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
关于java - 防止蜘蛛收集 Tomcat session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222301/
我想使用这个过滤器从网站 http://www.quoka.de/immobilien/bueros-gewerbeflaechen 抓取数据: nur Angebote 如何使用scrapy设置这个
我正在研究制作网络爬虫/蜘蛛,但是我需要有人指出正确的方向才能上手。 基本上,我的Spider会搜索音频文件并将它们编入索引。 我只是想知道是否有人对我应该如何做有任何想法。我听说用PHP完成它会非常
如果 Nutch 页面已经在索引中,它们会再次索引它们吗?如果是这样,我该如何更改? 最佳答案 是和否。默认情况下,Nutch 只会在 1 个月的某个时间段(从内存中)重新索引页面,如果页面没有更改,
我在一个 Scrapy 项目中有两个蜘蛛。 Spider1 抓取页面列表或整个网站并分析内容。 Spider2 使用 Splash 获取 Google 上的 URL 并将该列表传递给 Spider1。
我正在使用 python scrapy 包。有没有办法在蜘蛛运行时更新 scrapy 蜘蛛设置?我尝试了 telnet 控制台并通过以下方式更新设置: settings.set('AUTOTHROTT
我正在尝试安装 Sphider 来搜索我的网站,当我尝试创建 MySQL 表时出现此错误: create table query_log ( query varchar(255), tim
正在关注 How to pass a user defined argument in scrapy spider ,我写了下面这个简单的蜘蛛: import scrapy class Funda1S
我正在开发一个简单的抓取工具来获取 9 个搞笑帖子及其图片,但由于一些技术困难,我无法停止抓取工具,它继续抓取,这是我不想要的。我想增加计数器值并在 100 个帖子后停止。但是 9gag 页面的设计方
我创建了一个 Scrapy 蜘蛛。但我想将它作为脚本运行。我该怎么做。现在我可以在终端中通过这个命令运行: $ scrapy crawl book -o book.json 但我想像运行一个简单的 p
我正在尝试构建一个系统来运行 a few dozen Scrapy spiders ,将结果保存到 S3,并在完成时通知我。 StackOverflow 上有几个类似的问题(例如 this one 和
我正在用 Python 编写蜘蛛来抓取网站。问题是,我需要检查大约 250 万页,所以我真的需要一些帮助来优化它的速度。 我需要做的是检查一定数量的页面,如果找到就记录该页面的链接。蜘蛛非常简单,它只
我需要创建一个用户可配置的网络蜘蛛/爬虫,我正在考虑使用 Scrapy。但是,我无法对域和允许的 URL regex:es 进行硬编码——这将在 GUI 中进行配置。 我如何(尽可能简单地)使用 Sc
我已经开始使用 Scrapy抓取一些网站。如果我稍后向我的模型添加一个新字段或更改我的解析函数,我希望能够离线“重放”下载的原始数据以再次抓取它。看起来 Scrapy 有能力在某一时刻将原始数据存储在
我的问题实际上是如何做与上一个问题相同的事情,但在 Scrapy 0.14 中。 Using one Scrapy spider for several websites 基本上,我有一个 GUI,它
我有一个关于 python (Python 2.7) IDE Spider (2.3.5.2) 的具体问题 今天我注意到我的脚本作为一个整体运行时有所不同,即当我按 F5 时。或者当我只运行一行或一个
我有一个 crontab 作业,运行一个 myautorun.sh 文件,其中包含 3 个蜘蛛: crontab -e 14 * * * * * ~bin/myautorun.sh myautorun
到目前为止,我的代码可以打开一个文本文件,将其处理成一个 pandas 数据文件,然后导出到 excel。 我正在与其他人共享此代码,我们在 Spyder 中都有相同的工作目录。所有代码都运行良好,我
最近想为Openstack添加自动登录功能。所以我为 openstack 编写了一个 python 蜘蛛,如下所示: import urllib import urllib2 import cooki
如何使用 PHP 检测爬虫/蜘蛛? 我目前正在做一个项目,我需要跟踪每个爬虫的访问。 我知道你应该使用 HTTP_USER_AGENT 但我不太确定如何为此目的格式化代码而且我知道可以很容易地更改 U
我已经使用 scrapy 编写了一个工作爬虫, 现在我想通过一个Django webapp来控制它,也就是说: 设置1个或多个start_urls 设置 1 个或多个 allowed_domains
我是一名优秀的程序员,十分优秀!