`
ipple100200
  • 浏览: 15980 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

设置User-Agent,防止自己的爬虫被拦截

阅读更多

以前看车东的blog,说到流氓爬虫,伪装自己。今天抓取自己学校的物理学院的网址,竟然发现

返回的

java.io.IOException: Server returned HTTP response code: 500 for URL: http://physics.whu.edu.cn/show.asp?id=278

java.io.IOException: Server returned HTTP response code: 403 for URL

但是自己却可以用浏览器访问,发现可能是服务器对我们这种java程序屏蔽了。

因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent

 url = new URL("http://physics.whu.edu.cn/show.asp?id=278");
            HttpURLConnection connection = (HttpURLConnection) url.
                openConnection();
            connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

这样就可以访问了。

分享到:
评论
1 楼 tianye 2009-07-23  
方法不错,帮助我不小啊 

相关推荐

    Python库 | django-agent-trust-0.1.0.tar.gz

    4. **自定义策略**:可能允许开发者根据自己的需求设置信任策略,比如设定白名单或黑名单,或者根据特定条件判断用户代理的可信度。 5. **兼容性检查**:针对不同的Django版本,这个库可能已经进行了兼容性测试,...

    识别头信息限制爬虫

    例如,在第4条至第7条日志中,所有带有“splashVersion”或“PhantomJS”的User-Agent都被成功拦截,返回了403状态码;而在第2条和第3条日志中,使用正常浏览器进行的访问则没有受到任何影响,均返回了200状态码。 ...

    微信爬虫,微信万能cookie,微信阅读数采集,搜狗微信转永久拦截,微信评论采集.zip

    遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施...

    UserAgentUtils-1.13.jar

    - **安全防护**:识别潜在的恶意爬虫或攻击,通过特定User-Agent进行拦截。 3. **核心功能** - **解析User-Agent**:库提供了一系列方法,如`getBrowser()`、`getOperatingSystem()`,可以轻松获取浏览器类型、...

    Nginx反爬虫策略,防止UA抓取网站

    实施这些策略可以有效地拦截大部分爬虫,但需要注意的是,某些爬虫可能会伪装User-Agent,或者通过其他手段绕过这些限制。因此,反爬虫策略应结合其他方法,如限制请求频率、使用验证码、动态内容加载等,形成多层...

    nginx封空user_agent实现封禁迅雷的方法

    以下代码写入 server {….} 内 代码如下: if ($http_user_agent ~ ^$) { return 503; } if ($http_user_agent ~* “Mozilla/4.0\... 您可能感兴趣的文章:Nginx中配置过滤爬虫的User-Agent的简单方法Nginx防盗链根据UA屏

    基于python的反爬虫技术的研究源码数据库.zip

    比如,Django的Middleware(中间件)可以用来拦截并处理请求,实现IP限制、User-Agent检测等功能。同时,Django也可以用于创建验证码服务,配合前端展示和后端验证。 综上所述,这个压缩包中的源码数据库很可能提供...

    Python库 | useragents-0.1-py3-none-any.whl

    - **避免被反爬策略拦截**:在编写爬虫时,频繁使用相同的用户代理容易被目标网站识别为爬虫,而通过useragents库可以轻松切换不同的用户代理,降低被屏蔽的风险。 - **分析服务器日志**:对服务器日志中的用户代理...

    Laravel开发-laravel-crawler-detect

    - **用户代理检测**:`laravel-crawler-detect` 主要通过分析用户的 User-Agent 头部信息来判断请求是否来自爬虫。User-Agent 是浏览器向服务器发送的一种标识,通常包含浏览器类型、版本等信息。 - **自定义规则*...

    爬虫期末复习.docx

    - **User-Agent 识别**:通过分析请求头中的 User-Agent 字段判断是否为爬虫行为。 - **IP 封禁**:频繁访问同一 IP 地址可能导致被封禁。 - **访问频率控制**:对短时间内请求次数过多的行为进行限制。 - **...

    基于spring-boot开发的分布式系统的反爬虫、防接口盗刷组件。.zip

    3. **User-Agent检测**:检查请求头的User-Agent,非标准或常见爬虫会使用自定义的User-Agent。 4. **速率限制**:通过限流算法,如漏桶或令牌桶,控制接口调用速率,防止短时间内大量请求。 5. **会话管理**:使用...

    基于python的反爬虫技术的研究.zip

    1. 用户代理(User-Agent):反爬虫的第一步通常是检查请求头中的User-Agent,识别非正常浏览器行为。Python的requests库允许我们自定义User-Agent,模拟不同浏览器或设备发送请求。 2. 验证码:通过生成并验证图片...

    如何限制电脑PC端访问Web页面只能手机端才能访问

    这可能是出于优化移动用户体验、防止恶意爬虫或者实施特定策略的原因。标题“如何限制电脑PC端访问Web页面只能手机端才能访问”所涉及的知识点主要涵盖以下几个方面: 1. **设备检测**: - **User-Agent检查**:最...

    豆果美食爬虫代码.zip

    爬虫开发者需要根据实际情况调整策略,如使用代理IP、设置延时请求和动态改变User-Agent。 5. **数据解析与存储**:抓取到的数据可能包含JSON、XML或HTML格式,需要使用相应的解析库进行处理。数据通常会存储在...

    智能反爬虫试炼之路.pdf

    2. User-Agent检测:检查访问网站的请求头中的User-Agent字段,过滤掉被识别为爬虫的访问。 3. 验证码:通过引入验证码机制来区分正常用户和爬虫。 4. 动态内容:使用JavaScript等技术动态加载页面内容,使得静态...

    Python爬虫-scrapy-城市二手房数据爬取与保存

    在Scrapy的Middleware中,我们可以设置随机User-Agent,使用代理IP池,以及处理Cookie来规避这些限制。此外,遵守网站的robots.txt规则也是爬虫伦理的重要部分。 对于二手房数据的抓取,我们可能需要爬取多个页面,...

    智能GPT图书管理系统.zip

    遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施...

    Python-一份关于scrapy爬虫开发过程中的注意事项和笔记

    考虑设置`DEPTH_LIMIT`配置以控制爬虫的抓取深度,防止陷入无限循环或过度抓取。 5. **IP代理**: 在大规模爬取时,可能会遇到反爬策略,如IP封锁。使用IP代理池可以有效应对这种情况,Scrapy middleware可以集成...

    爬虫技术的代码

    5. **反爬策略**:网站可能会设置反爬机制,如验证码、IP限制或User-Agent检查。为了绕过这些限制,爬虫可能需要改变请求头、使用代理IP,或者实现验证码识别(例如,通过`Tesseract OCR`)。 6. **速率控制**:...

Global site tag (gtag.js) - Google Analytics