php采集时被封ip的解决方法
在网上找了一些资料都没有找到,功夫不负有心人啊,在找的时侯有一个人提到了用搜索引擎爬虫蜘蛛的USERAGENT。虽然只提到一点点我还是想到了,列出我的解决方法,
1.使用Snoopy或curl传搜索引擎爬虫的USERAGENT值。
查看搜索引擎爬虫的USERAGENT值:http://www.jb51.net/yunying/29357.html
2.使用Snoopy或curl传referer值。
如:$snoopy->referer = 'http://www.google.com';
$header[] = "Referer: http://www.google.com/";
3.使用Snoopy或curl代理。
如:$snoopy->proxy_host = "59.108.44.41";
$snoopy->proxy_port = "3128";
4.使用Snoopy或curl防造IP。
如:$snoopy->rawheaders['X_FORWARDED_FOR'] = '127.0.0.1';
5.用php与一个重起路由的程序,这样就会获得新的ip地址。
6.如果发现重起路由还是显示被封,有可能对方封了你的mac地址,现在路由器都有伪造MAC的功能,可以写程序或手动修改路由器的MAC地址,网上也有专门修改网卡mac地址的工具。
相关推荐
-
使用phpQuery采集网页的方法
phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息.更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息.采集头条先看一实例,现在我要采集新浪网国内新闻的头条,代码如下: 复制代码 代码如下: include 'phpQuery/phpQuery.php'; phpQuery::newDocumentFile('http://www.jb51.net'); echo pq
-
PHP使用CURL_MULTI实现多线程采集的例子
这两天有一客户定制了一个免登录发布模块,因为在模块中需要涉及到很多图片下载的问题,考虑到性能问题,所以特别写了一个CURL_MULTI远程采集网页的函数,以方便以后使用,估计以后都不会使用原来的单线程curl函数去foreach了,其性能对比很明显的.同样获取我的博客的十个不同网页,curl_multi:4.5246081352234,file_get_contents:33.001797914505,将近8倍的效率,可想而知,如果在附件更多的情况下,性能差异就越明显了,希望对您有所帮助! 复制
-
PHP远程采集图片详细教程
当我们需要采集网络上的某个网页内容时,如果目标网站上的图片做了防盗链的话,我们直接采集过来的图片在自己网站上是不可用的.那么我们使用程序将目标网站上的图片下载到我们网站服务器上,然后就可调用图片了. 本文将使用PHP实现采集远程图片功能.基本流程: 1.获取目标网站图片地址. 2.读取图片内容. 3.创建要保存图片的路径并命名图片名称. 4.写入图片内容. 5.完成. 我们通过写几个函数来实现这一过程. 函数make_dir()建立目录.判断要保存的图片文件目录是否存在,如果不存在则创建目录,并
-
PHP实现采集中国天气网未来7天天气
前言 我们在写一个Web程序的时候,总会想着把自己的网站更美观一些,功能能更多一些,有时候写一些小的工具或者加上小的插件会让我们的站点更加完善.比如万年历功能,比如我们现在要讲的天气预报功能. 当然我们没法利用专业的卫星接受数据,所以我们的天气数据来自现有的天气预报网站.利用天气预报网站提供的数据服务,我们可以写一个PHP爬虫,然后动态采集我们所需要的数据,并且在目标站点更新数据的时候,我们的程序也能做到同步更新,自动地获取数据. 下面就介绍一下如何编写一个简单的PHP数据采集程序(PHP爬虫)
-
php采集内容中带有图片地址的远程图片并保存的方法
本文实例讲述了php采集内容中带有图片地址的远程图片并保存的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function my_file_get_contents($url, $timeout=30) { if ( function_exists('curl_init') ) { $ch = curl_init(); curl_setopt ($ch, curlopt_url, $url); curl_setopt ($ch, curlopt_retu
-
解析php利用正则表达式解决采集内容排版的问题
做采集经常遇到的问题是内容排版问题,用了一些时间写了个用正则替换html标签和样式的函数,共享下. 复制代码 代码如下: /** * 格式化内容 * @param string $content 内容最好统一用utf-8编码 * @return string * !本函数需要开启tidy扩展 */function removeFormat($content) { $replaces = array ( "/<font.*?>/i" => '', "/
-
phpphp图片采集后按原路径保存图片示例
复制代码 代码如下: <?php$domain ='http://www.jb51.net';$url = '/newskin/images/v4/logo.jpg';$pats = pathinfo($url);$dir = '.'.$pats['dirname'].'/'; if(!is_dir($dir)) { @mkdirs($dir, 0777); @fclose(fopen($dir.'/index.htm', 'w')); }$img = file_get_c
-
PHP采集静态页面并把页面css,img,js保存的方法
本文实例讲述了PHP采集静态页面并把页面css,img,js保存的方法.分享给大家供大家参考.具体分析如下: 这是一个可以获取网页的html代码以及css,js,font和img资源的小工具,主要用来快速获取模板,如果你来不及设计UI或者看到不错的模板,则可以使用这个工具来抓取网页和提取资源文件,提取的内容会按相对路径来保存资源,因此你不必担心资源文件的错误url导入. 首页 index.php,代码如下: 复制代码 代码如下: <!DOCTYPE html> <html> <
-
PHP批量采集下载美女图片的实现代码
设计思路 考虑到单纯的采集一个网页的图片,太麻烦,所以直接采集他的列表页,获取列表的url然后在一一采集,但是用php匹配列表页的url太麻烦,第一列表页有很多无效url这对我这个正则小菜鸟实在是个问题,看了一下列表页的结构,果断采用jquery获取url,jquery的万能选择器又再次强大起来了. jquery获取url,然后ajax传递url->对应PHP文件,遍历url参数-->单页面采集保存图片 jquery程序 复制代码 代码如下: <script src="http
-
php采集时被封ip的解决方法
在网上找了一些资料都没有找到,功夫不负有心人啊,在找的时侯有一个人提到了用搜索引擎爬虫蜘蛛的USERAGENT.虽然只提到一点点我还是想到了,列出我的解决方法, 1.使用Snoopy或curl传搜索引擎爬虫的USERAGENT值. 查看搜索引擎爬虫的USERAGENT值:http://www.jb51.net/yunying/29357.html 2.使用Snoopy或curl传referer值. 如:$snoopy->referer = 'http://www.google.com'; $he
-
python 采集中文乱码问题的完美解决方法
近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录 1. 在正常情况下..可以用 import chardet thischarset = chardet.detect(strs)["encoding"] 来获取该文件或页面的编码方式 或直接抓取页面的charset = xxxx 来获取 2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理. st
-
iOS11 SectionHeader 胡乱移动且滑动时出现重复内容的解决方法
升级到iOS 11后,痛苦的事情多起来了,以前版本没有的出现问题的代码,经过Xcode 9一编译,千万草泥马奔腾而过: 今天碰到一个奇葩问题,直接进入主题: 问题描述: -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 12; } -(UIView *)tableView:(UITableView *)tableView viewForHeaderIn
-
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
本文实例讲述了Angularjs在初始化未完毕时出现闪烁问题的解决方法.分享给大家供大家参考,具体如下: 方法1: 使用ng-cloak指令,在绑定数据的区域使用该指令并设置该指令的样式为隐藏即可,如下所示: Html: <body ng-controller="QuberController" ng-cloak class="ng-cloak"> Css: .ng-cloak { display: none; } 方法2: 使用ng-bind指令来代替
-
ThinkPHP提交表单时默认自动转义的解决方法
本文实例讲述了ThinkPHP提交表单时默认自动转义的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不想给单引号和双引号加上反斜线. 在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不想给单引号和双引号加上反斜线,在ThinkPHP中提交表单插入数据的时候,单引号和双引号是会被自动转义的,就是会自动的加上反斜线,但是我不
-
MySQL从命令行导入SQL脚本时出现中文乱码的解决方法
本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加数据),并执行,不会有任何问题:但是使用mysql命令行工具执行建库脚本时,添加数据中如果包含中文,存入的数据就是乱码或是???... 解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-characte
-
jQuery对话框插件ArtDialog在双击遮罩层时出现关闭现象的解决方法
本文实例讲述了jQuery对话框插件ArtDialog在双击遮罩层时出现关闭现象的解决方法.分享给大家供大家参考,具体如下: 大家都知道,ArtDialog是一款非常不错的.轻量级的.基于jQuery的对话框插件,深受大家的追捧,大伙可以到一下地址进行下载: https://code.google.com/p/artdialog/ https://github.com/aui/artDialog 截止到2014年9月17日,已经有几个重大的版本v4.1.7.v5.0.4和v6.0.2,其中4.x
-
Java读取properties配置文件时,出现中文乱码的解决方法
如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr
-
py文件转exe时包含paramiko模块出错解决方法
问题描述: python代码中包含paramiko模块的远程登录ssh,在用pyInstaller转为exe时报错, 报错提示为"No handlers could be found for logger "paramiko.transport" 出错位置: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 解决方案: 添加一行代码,记录传输日志. 代码如
-
php使用escapeshellarg时中文被过滤的解决方法
本文分析了php使用escapeshellarg时中文被过滤的解决方法.分享给大家供大家参考.具体如下: 一.问题: 同样的代码,发现通过 localhost/index.php 访问,和在 shell 中通过 php ./index.php 运行結果却不一样. 在程序中需要通过 shell_exec 来执行一个 linux 程序,而它的输入来自 echo ,即: shell_exec('echo '.escapeshellarg($str).' | some_cmd 2>&1'); 二.解
随机推荐
- VBA中的Timer函数用法
- MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
- 调用MySQL中数据库元数据的方法
- 在Golang代码中如何自动生成版本号的方法示例
- PostgreSQL教程(六):函数和操作符详解(2)
- 详解angular 中的自定义指令之详解API
- JS脚本混淆、加密讨论第1/2页
- 怎样修复Windows 10 Enterprise 在9月更新后图片全部由绘图板打开的情况
- java检查数组是否有重复元素的方法
- JavaScript实现继承的4种方法总结
- asp.net 下载文件时输出文件内容
- JavaScript进阶教程(第二课)第1/3页
- PHP判断网络文件是否存在的方法
- linux shell脚本学习xargs命令使用详解
- DVA框架统一处理所有页面的loading状态
- ie9下alert阻挡jsp渲染ie8下没问题
- SQL Server控制语句的基本应用
- jQuery EasyUI API 中文文档 可调整尺寸
- javascript生成json数据简单示例分享
- java多线程学习笔记之自定义线程池