【发布时间】:2014-03-05 20:48:30
【问题描述】:
我有一个 mysql 数据库,有一个表: 网址 |单词
还有数据,例如:
------Column URL------- -------Column Words------
www.firstwebsite.com | hello, hi
www.secondwebsite.com | someword, someotherword
我想遍历该表以检查该单词是否存在于 url 指定的网站内容中。
我有这样的事情:
!/bin/bash
mysql --user=USERNAME --password=PASSWORD DATABASE --skip-column-names -e "SELECT url, keyword FROM things" | while read url keyword; do
content=$(curl -sL $url)
echo $content | egrep -q $keyword
status=$?
if test $status -eq 0 ; then
# Found...
else
# Not found...
fi
done
一个问题:
很慢:如何设置curl来优化每个网站的加载时间,不加载图片之类的?
另外,将类似的东西放在 shell 脚本中是个好主意,还是创建一个 php 脚本并使用 curl 调用它更好?
谢谢!
【问题讨论】:
-
为什么!?你为什么要在 bash 中过滤?为什么不只是
select ... where keyword like '%$keyword%'? -
我必须获取网站内容。然后在里面搜索关键字,怎么用sql请求呢?
-
例如:我得到 url=www.somesite.com 和keyword=ok。 curl获取网站的内容,然后我去检查关键字是否在里面。
-
对了。完全错过了那里的 curl 电话
-
第一个问题使用
--skip-column-names和mysql。