全球主机交流论坛

标题: 有偿求一段代码(一个页面)(已解决) [打印本页]

作者: 砍柴郎    时间: 2016-12-8 00:37
标题: 有偿求一段代码(一个页面)(已解决)
本帖最后由 砍柴郎 于 2016-12-8 12:28 编辑

已解决,非常感谢热心帮助的朋友!

最后采用了贴吧兄的代码,运行一下,非常好,还有一点点适应性改进,我就单独请教他了好了。还请贴吧兄PM一下您的收款方式,一点烟钱,略表心意。

重点感谢miniloop和linhai的代码,由于我对python完全没接触过,只好放弃了。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



有偿求一段代码(一个页面),请大神帮帮忙,谢谢。
想实现的功能:
打开该页面后,该页面自动按顺序打开以下链接:http://www.xxx.com/seacher.html?url=网址变量
其中:
www.xxx.com是我已有的网站,seacher.html也是已有的文件,已放入www.xxx.com根目录下。
难点是“网址变量”要求是来自爱站网页面中的“最近查询”中的网址,例如在爱站网中查询“baidu.com”域名情况后,,在查询页面http://www.aizhan.com/cha/baidu.com/的下面会出现“最近查询”列表,如下图:

(, 下载次数: 0)


我想实现的功能就是做一个页面,打开这个页面后,该页面自动按顺序打开以下链接:http://www.xxx.com/seacher.html?url=网址变量,
真不知道描述清楚没有,还请大神们帮忙,谢谢。如有意,请跟贴顺便报下价。再次感谢。


哦,要求代码是用HTML或者PHP写的,因为我只有PHP空间。
作者: litter123    时间: 2016-12-8 01:04
这个不难吧,不过这个用python比较好做
作者: miniloop    时间: 2016-12-8 01:04
难度不算大,如果今晚有时间,我先写个页面在我的站上演示给你看,价钱随便.不收费也是可以的
我用php
作者: 砍柴郎    时间: 2016-12-8 01:06
miniloop 发表于 2016-12-8 01:04
难度不算大,如果今晚有时间,我先写个页面在我的站上演示给你看,价钱随便.不收费也是可以的
我用php ...

谢谢,谢谢,静候佳音。
作者: miniloop    时间: 2016-12-8 01:09
砍柴郎 发表于 2016-12-8 01:06
谢谢,谢谢,静候佳音。

今天在外面加班,如果事情办完,回去我就给你写页面
作者: 砍柴郎    时间: 2016-12-8 01:10
miniloop 发表于 2016-12-8 01:09
今天在外面加班,如果事情办完,回去我就给你写页面

好,不急不急,听您的时间来就是了。
作者: Vicer    时间: 2016-12-8 01:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: pathletboy    时间: 2016-12-8 07:43
"该页面自动按顺序打开以下链接:http://www.xxx.com/seacher.html?url=网址变量"
自动按顺序,这个自动间隔是多少?
作者: 砍柴郎    时间: 2016-12-8 08:01
pathletboy 发表于 2016-12-8 07:43
"该页面自动按顺序打开以下链接:http://www.xxx.com/seacher.html?url=网址变量"
自动按顺序,这个自动间 ...


这个没有硬性要求,一两秒即可吧,只要打开了网页就行,谢谢。
作者: the2ndface    时间: 2016-12-8 08:02
好高大上,我这种新手还是不献丑了,等大神写完了我再学习学习
作者: pathletboy    时间: 2016-12-8 08:35
砍柴郎 发表于 2016-12-8 08:01
这个没有硬性要求,一两秒即可吧,只要打开了网页就行,谢谢。

加Q 420100,详细了解下额外需求
作者: miniloop    时间: 2016-12-8 08:36
  1. <?php

  2. /**********************************************
  3. *
  4. *
  5. *
  6. *
  7. **********************************************/
  8.    
  9.     $arg  = isset($_GET["url"])?$_GET["url"]:'';
  10.    
  11.     if($arg == '')
  12.     {
  13.         echo '<script>alert("请在URL后添加要查询的网址,如:" + "\n" + "http://www.yours.com?url=baidu.com")</script>';
  14.         exit();
  15.     }
  16.    
  17.     $securl = htmlentities($arg);
  18.    
  19.     unset($arg);
  20.    
  21.     $geturl = 'http://www.aizhan.com/cha/' . $securl ;

  22.     $html=file_get_contents($geturl);
  23.    
  24.     $reg = '/\/cha\/(([A-Za-z0-9]+\.)?([A-Za-z0-9]*\.[A-Za-z0-9]*){1})\//is';
  25.    
  26.      if($html == '')
  27.      {
  28.          echo '<script>alert("查询网站返回错误!")</script>';
  29.      }

  30.      preg_match_all($reg,$html ,$match);
  31.      
  32.      #print_r($match[1]);

  33.     if(empty($match[1]))
  34.     {
  35.         echo '<script>alert("查询没有结果或出错!")</script>';
  36.     }

  37.     foreach($match[1] as $host)
  38.     {
  39.         echo 'http://www.xxx.com/seacher.html?url=' . $host . '<br>';
  40.     }
  41.    

  42. ?>
复制代码

作者: miniloop    时间: 2016-12-8 08:38
把数据采集出来了,拼接好了,至于怎么去用这些地址去开新页面还没想好。
作者: miniloop    时间: 2016-12-8 08:41
PHP是服务端语言,不能直接控制客户端去开页面,虽然可以发js控制客户端,但是我在本地试弹新窗口全被chrome拦截了。
PHP也不是后台语言,不能象python那样在后台运行,可以不慌不忙一个一个页面的开。

这个还真难到我了,。
作者: miniloop    时间: 2016-12-8 08:43
还有那个爱站网,查询同一个网址,每次刷新出来的结果都不一样是什么鬼。
作者: lrccat    时间: 2016-12-8 08:49
查询的同时写入一个TXT文件,刷新读取TXT文件内容就好了,我自己的网站就是用这种方法
作者: 砍柴郎    时间: 2016-12-8 08:53
miniloop 发表于 2016-12-8 08:43
还有那个爱站网,查询同一个网址,每次刷新出来的结果都不一样是什么鬼。 ...

这个是不一样的,同时有很多人用爱站查询,你第二次刷新时又是新的一批结果了。
其实我要的就是这个效果:我运行完这一批后,再刷新下网页,又是另一批
结果我就可以打开很多很多的网站了。。
作者: miniloop    时间: 2016-12-8 08:56
本帖最后由 miniloop 于 2016-12-8 08:57 编辑
砍柴郎 发表于 2016-12-8 08:53
这个是不一样的,同时有很多人用爱站查询,你第二次刷新时又是新的一批结果了。
其实我要的就是这个效果 ...


上面那段代码,你可以运行试一下,结果是正确的,轮询开页面的方法我还没想成熟
你的需求是结果有几个网站,就自动新开几个页面是吧?
作者: lskstc    时间: 2016-12-8 09:05
python方便点吧,涉及到抓取页面啥的
作者: 砍柴郎    时间: 2016-12-8 09:06
miniloop 发表于 2016-12-8 08:56
上面那段代码,你可以运行试一下,结果是正确的,轮询开页面的方法我还没想成熟
你的需求是结果有几个网 ...

是的,我是想查询结果有几个网站,就依次打开这些网站,当然,如果能打开又自动关闭就更好了,或者新开一个页面,依次打开这些网站,因为如果全部是弹出新窗口的话,一会儿,满桌面都是打开的网站了。


作者: 8idc.com    时间: 2016-12-8 09:18
类似刷外链工具?
作者: 砍柴郎    时间: 2016-12-8 09:28
8idc.com 发表于 2016-12-8 09:18
类似刷外链工具?

对,对,对,一语中的!
请问有其他思路吗?
作者: linhai    时间: 2016-12-8 09:38
本帖最后由 linhai 于 2016-12-8 09:42 编辑
砍柴郎 发表于 2016-12-8 08:53
这个是不一样的,同时有很多人用爱站查询,你第二次刷新时又是新的一批结果了。
其实我要的就是这个效果 ...


用python很容易实现,桌面端 开启 自动执行
作者: 砍柴郎    时间: 2016-12-8 09:44
linhai 发表于 2016-12-8 09:38
用python很容易实现,桌面端 开启 自动执行

不好意思,请问python运行环境是什么?
作者: 砍柴郎    时间: 2016-12-8 10:02
pathletboy 发表于 2016-12-8 08:35
加Q 420100,详细了解下额外需求

谢谢,由于身后领导盯得紧,上午可能没时间,不好意思。
作者: 贴吧    时间: 2016-12-8 10:30
  1. <?php
  2. if ($_GET['id'] == 'geturl') {
  3.     $html = file_get_contents ('http://www.aizhan.com/cha/');
  4.     $reg = '/\/cha\/(.+?)\//is';
  5.     preg_match_all ($reg, $html, $match);
  6.     echo json_encode ($match[1]);
  7. } else {
  8.     echo '
  9. <script type="text/javascript">
  10. var xmlHttp;
  11. function x_XMLHttpRequest() {
  12.     if (window.ActiveXObject) {
  13.         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  14.     } else if (window.XMLHttpRequest) {
  15.         xmlHttp = new XMLHttpRequest();
  16.     }
  17. }

  18. function geturl(){
  19.      x_XMLHttpRequest();
  20.      xmlHttp.open("GET", "?id=geturl", true);
  21.      xmlHttp.onreadystatechange =  function(){
  22.             if(xmlHttp.readyState == 4){
  23.                 if(xmlHttp.status == 200){
  24.                     var data = xmlHttp.responseText;
  25.                     var obj = JSON.parse(data);
  26.                      for (var i = 0; i < obj.length; i++) {
  27.                          var iframe = document.createElement("iframe");
  28.                          iframe.src="http://www.xxx.com/seacher.html?url="+obj[i];
  29.                          document.body.appendChild(iframe); }
  30.                     }
  31.                 }
  32.             };
  33.             xmlHttp.send(null);
  34.      }
  35. geturl();
  36. </script>
  37. <meta http-equiv="refresh" content="20">
  38.     ';
  39. }
复制代码

试试这个
作者: 砍柴郎    时间: 2016-12-8 10:35
贴吧 发表于 2016-12-8 10:30
试试这个

好,我中午试试,现在领导在后面盯得紧,先谢谢了。
作者: linhai    时间: 2016-12-8 10:52
砍柴郎 发表于 2016-12-8 09:44
不好意思,请问python运行环境是什么?

全平台。linux mac windows

是不是这种效果
(, 下载次数: 0)
作者: 砍柴郎    时间: 2016-12-8 11:01
linhai 发表于 2016-12-8 10:52
全平台。linux mac windows

是不是这种效果

是的,是的。。。。。。
作者: 砍柴郎    时间: 2016-12-8 11:03
linhai 发表于 2016-12-8 10:52
全平台。linux mac windows

是不是这种效果

请问您这个最后是网页形式还是一个程序形式?不好意思,我没接触过。。
作者: 砍柴郎    时间: 2016-12-8 11:07
linhai 发表于 2016-12-8 10:52
全平台。linux mac windows

是不是这种效果

还有,您这个http://www.123tao.cc/,好像打不开。
作者: linhai    时间: 2016-12-8 11:11
砍柴郎 发表于 2016-12-8 11:03
请问您这个最后是网页形式还是一个程序形式?不好意思,我没接触过。。 ...

桌面程序 (, 下载次数: 0)
作者: linhai    时间: 2016-12-8 11:12
砍柴郎 发表于 2016-12-8 11:07
还有,您这个http://www.123tao.cc/,好像打不开。

quan.123tao.cc 在北岸让我停掉解析了
作者: 砍柴郎    时间: 2016-12-8 11:16
本帖最后由 砍柴郎 于 2016-12-8 11:17 编辑
linhai 发表于 2016-12-8 11:11
桌面程序


里面的"https://www.baidu.com/s?wd="这段链接,可以很方便修改成其他的链接吧?

哦,我的机子还需要安装那个python环境吧?
作者: linhai    时间: 2016-12-8 11:28
本帖最后由 linhai 于 2016-12-8 11:29 编辑
砍柴郎 发表于 2016-12-8 11:16
里面的"https://www.baidu.com/s?wd="这段链接,可以很方便修改成其他的链接吧?

哦,我的机子还需要安 ...


可以啊 随便改。打包成exe就不需要安装py环境了
(, 下载次数: 0)
作者: 砍柴郎    时间: 2016-12-8 11:33
linhai 发表于 2016-12-8 11:28
可以啊 随便改。打包成exe就不需要安装py环境了

哈,能否给我?
作者: linhai    时间: 2016-12-8 11:42
本帖最后由 linhai 于 2016-12-8 11:56 编辑
  1. import urllib.request
  2. import re
  3. import time

  4. def urlOpen(url):
  5.     response = urllib.request.urlopen(url)
  6.     html = response.read().decode('utf-8')
  7.     return html

  8. def getUrls(url):
  9.     html = urlOpen(url)
  10.     a = re.compile(r'/cha/(.*?)/">')
  11.     urlAera = a.findall(html)
  12.     return urlAera

  13. while True:
  14.     urls = getUrls('http://www.aizhan.com/cha/m.quan123.cc/')
  15.     for url in urls:
  16.         url = 'https://www.baidu.com/s?wd='+ url    #替换为http://www.xxx.com/seacher.html?url=
  17.         print('正在访问%s' %url)
  18.         page = urllib.request.urlopen(url).read()
  19.     time.sleep(5)
  20.     print('等待五秒继续执行。。。')
复制代码





欢迎光临 全球主机交流论坛 (https://d.168530.xyz/) Powered by Discuz! X3.4