汇总:vb怎么提取网页指定位置的数据?
优采云 发布时间: 2022-09-23 22:13汇总:vb怎么提取网页指定位置的数据?
VBA操作网页读取数据并自动填入EXCEL表格
VBA操作网页读取数据并自动填入EXCEL表格
提取html网址,如何提取网页代码中的指定内容
如何提取网页代码中的指定内容?一个数据库的网页结构如下:htmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""">September 6, 2015 17:18 Agriculture Medicine:Instantaneous flow:175.3 0...
如何使用VB批量采集指定网站上的图片文件和网页中的文字等资源
如何使用VB批量采集指定网站上的图片文件,以及网页中的文字等资源素材
vb自动读取本地html,vb读取网页内容方法总结-mystic的个人空间-51Testing软件测试网51Testing软件测试网-软件测试人员的精神家园...
比如xxx.xxx.xxx.xx是一个网页,这个网页只显示标题,如:1、xxxxxxx 2、xxxxxx 3xxxx 4xxxx 页面很多,每个标题对应的对应的网页,在这个网页上读出来。我们如何做到这一点?谢谢!添加的问题:...
vba抓取网页中的指定内容
使用vba程序从网页抓取想要的内容,下面的代码可以抓取网站上的所有乐谱和歌词: Private Sub MacraGrabTunes() Dim iBegin, iEnd, iRow As Integer Dim t0 , t1 As Single Dim Sign1, Sign2 As String Dim ...
优化的解决方案:php curl 数据采集 空
如果 (!$result) {
//头处理-linux环境失败
// $headerArr = get_headers($httpsDomain, 1);
// if (!$headerArr) {
// responseError(600, '请求失败,请重试');
// }
// if ($headerArr && isset($headerArr['Set-Cookie'])) {
// if (is_array($headerArr['Set-Cookie'])) {
// $cookie = $headerArr['Set-Cookie'][0];
// } 其他 {
// $cookie = $headerArr['Set-Cookie'];
// }
// } 其他 {
// $cookie = '';
// }
$content = $this->_webCurl($httpsDomain, $header, 1);
$pattern = '/Set-Cookie: .+/';
preg_match($pattern, $content, $matches);
if (isset($matches[0])) {
$cookie = substr($matches[0], 12);
} 否则 {
$cookie = '';
}
array_push($header, "Cookie:$cookie");
$output=$this->_webCurl1($httpsDomain,[],'',$cookie);
如果($输出){
if (preg_match_all($str, $output) >= 1) {
$result = 1;//表示已安装代码,原创不易,保留转载
}
}
}
/**
* 专门用于抓取网站代码
*
* @param string $url 完整网址
* @param $header
* @param int $responseHeader 是否输出头信息
* @return bool|string
*/
私有函数_webCurl($url, $header, $responseHeader = 0)
{
$curl = curl_init();
//设置选项,包括URL
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, $responseHeader);//是否输出头信息
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查是否存在SSL加密算法
//curl_setopt($curl, CURLOPT_HTTPHEADER, $header);这种测试不行,改成下面这行
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip, deflate'));
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate,br');//解析gzip,deflate内容
//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/72.0.3608.4 Safari/537.36');
//执行并获取HTML文档内容
$output = curl_exec($curl);
如果 ($output === FALSE) {
//echo "CURL 错误:" .curl_error($curl);
}
// 4 松开卷曲手柄
curl_close($curl);
返回$输出;
}
上述方法在某些情况下仍然失败,最近优化的$content=$this->_webCurl($httpsDomain,$header,1);
$pattern='/Set-Cookie:.+/';
preg_match($pattern,$content,$matches);
if(isset($matches[0])){
$cookie=substr($matches[0],12);
}其他{
$cookie='';
}
$output=$this->_webCurl1($httpsDomain,[],'',$cookie);
privatefunction_webCurl1($url,$data,$ref,$cookie)
{//模拟提交数据功能
$curl=curl_init();//启动一个 CURL 会话
curl_setopt($curl,CURLOPT_URL,$url);//要访问的地址
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);//查看*敏*感*词*的来源
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);//从证书上检查是否存在SSL加密算法
curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);//模拟用户使用的浏览器
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);//使用自动跳转
curl_setopt($curl,CURLOPT_REFERER,$ref);
curl_setopt($curl,CURLOPT_POST,1);//发送常规的Post请求
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);//发布提交的数据包
curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie);//读取上面存储的cookie信息
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie);//存储cookie信息的文件名
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Accept-Encoding:gzip,deflate'));
curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');
curl_setopt($curl,CURLOPT_TIMEOUT,30);//设置超时限制防止死循环
curl_setopt($curl,CURLOPT_HEADER,0);//显示返回的Header区域的内容
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//获取的信息以文件流的形式返回
$tmpInfo=curl_exec($curl);//执行操作
if(curl_errno($curl)){
echo'Errno'.curl_error($curl);
}
curl_close($curl);//关键CURL会话
return$tmpInfo;//返回数据
}