我正试图在google上进行一些搜索(每5分钟左右循环一次).当它被命中时,我希望它将结果推送到系统日志服务器.我是python的新手所以请原谅无知,我搜索了很多年,但找不到我的问题的答案.
我打算添加多个查询来查找不同的结果,具体取决于logevent不同的查询结果.
WARN "possible hit"
CRITICAL "definatly a hit"
etc
Run Code Online (Sandbox Code Playgroud)
我希望输出例如:log type,url,date/time
下面是我到目前为止一直在玩的代码.我可以搜索并记录文件,但不是我想要的.我只获得时间和偶数类型的格式,我没有在日志中获得我的查询结果.我不知道如何登录系统日志服务器.
#!/usr/bin/python
import urllib
import simplejson, logging
query = urllib.urlencode({'q' : 'SEARCHTERMHERE'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \ % (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
logging.basicConfig(format='%(asctime)s %(message)s', filename='hits.log')
logging.warning ('Likley hit')
print i['url']
#!/usr/bin/python
import urllib
import simplejson
import logging
from logging.handlers import SysLogHandler
query = urllib.urlencode({'q' : 'SEARCHTERMHERE'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \
% (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results …Run Code Online (Sandbox Code Playgroud) 我一整天都在努力让它正常工作,它几乎完成了,只是我遇到了一个奇怪的问题。在搜索查询中找到的每个结果都会按预期记录,但第一个结果会记录一次,第二个结果会记录两次,第三个结果会记录三次,依此类推。
有什么想法如何消除重复项吗?日志示例
#!/usr/bin/python
import urllib
import simplejson
import logging
from logging.handlers import SysLogHandler
query = urllib.urlencode({'q' : 'test'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \
% (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
logger = logging.getLogger()
logger.addHandler(SysLogHandler(address=('192.168.0.2', 514)))
logger.addHandler(logging.FileHandler("hits.log"))
logging.warn(i['url'])
print i['url']
Run Code Online (Sandbox Code Playgroud)