【九零新年礼物】Prophet-Article-Query--先知文章搜索工具

零.前言:

下午在先知论坛看文章,突然想写一个搜索先知文章的轮子,练练手.
于是有了下文!

一.编写思路:

第一步:
是要获取到先知社区的所有文章,但先知论坛的所有文章并不能一起显示出来,
我便上谷歌找到了这玩意:
1

search_url="https://job.lonelysec.com/xz.aliyun.com"
search=requests.get(url=search_url)

第二步:
要进行正则匹配,匹配出所有文章的url和标题!

def mstir_list(a,b,string):
    result = re.findall('.*%s(.*)%s.*'%(a,b),string)
    for x in result:
        print('Url:http://',cx)

第三步:
判断正则匹配匹配到的内容是否含有要搜索的内容!

def mstir_search(a,b,string):
    global id
    result = re.findall('.*%s(.*)%s.*'%(a,b),string)
    for x in result:
        if content in x:
            cx=x.replace(th, ' Title:');
            cx=cx.replace('m/', 'm/t/');
            print("===========================================================================")
            print("搜索结果" + str(id) + ":")
            print('Url:http://',cx)
            id = id + 1

思路咱们明确了,就开始写代码吧!

二.Python实现:

使用方法:
Prophet-Article-Query.py list whole #列出所有文章
Prophet-Article-Query.py search phpcms(你要搜索的) #搜索内容

# -*- coding: UTF-8 -*- #
import requests
import re
import sys

id = 1
method = sys.argv[1]
content = sys.argv[2]
th='" class="pure-menu-link">'
search_url="https://job.lonelysec.com/xz.aliyun.com"
search=requests.get(url=search_url)
def mstir_search(a,b,string):
    global id
    result = re.findall('.*%s(.*)%s.*'%(a,b),string)
    for x in result:
        if content in x:
            cx=x.replace(th, ' Title:');
            cx=cx.replace('m/', 'm/t/');
            print("===========================================================================")
            print("搜索结果" + str(id) + ":")
            print('Url:http://',cx)
            id = id + 1
def mstir_list(a,b,string):
    result = re.findall('.*%s(.*)%s.*'%(a,b),string)
    for x in result:
        cx=x.replace(th, ' Title:');
        cx=cx.replace('m/', 'm/t/');
        print('Url:http://',cx)
if {method == "list"}:
	print (' ____          __  __     _   _')
	print ('| __ ) _   _  |  \/  |___| |_(_)_ __')
	print ("|  _ \| | | | | |\/| / __| __| | '__|")
	print ("| |_) | |_| | | |  | \__ \ |_| | |")
	print ("|____/ \__, | |_|  |_|___/\__|_|_|")
	print ("       |___/                90sec.com")
	mstir_list('href="/','<',search.text)
if {method == "search"}:
	print (' ____          __  __     _   _')
	print ('| __ ) _   _  |  \/  |___| |_(_)_ __')
	print ("|  _ \| | | | | |\/| / __| __| | '__|")
	print ("| |_) | |_| | | |  | \__ \ |_| | |")
	print ("|____/ \__, | |_|  |_|___/\__|_|_|")
	print ("       |___/                90sec.com")
	mstir_search('href="/','<',search.text)
	print("===========================================================================")

项目的Github地址:https://github.com/M4tir/MyTools

三.易语言实现:

其实易语言的实现和python差不了多少,语言是相通的(尽管一个是中文代码,一个是英文的代码)
只要你懂得了其原理,便不难编写工具!
核心代码:
2
程序演示:


附上程序源码:先知文章查询工具源码.rar (889.6 KB)

END!

4 个赞

有点强迫症,文章名称最好靠左显示 :thinking: