汇总: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;//返回数据

  }

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线