如何解析/抓取/抓取特定信息的网站?
我最近被指控犯了一个让我头痛的任务。我的俱乐部希望通过网站找到正在做我们自己的人。如何解析/抓取/抓取特定信息的网站?
当前使用的方法是进入*,获取每个城市的列表(例如:List of cities in alabama),进入每个网站(例如:meetup,facebook,craigslist等),然后执行搜索关键字,在每个城市,为每个网站。 (例如:功夫,武术等)
所以460个城市X 5个网站X 5个关键词= 11500个不同的搜索=头脑麻木单调。
我真的希望有一个更简单的方法。在寻找答案时,我遇到了这个网站(building a web spider),并认为这可能是一种方式。
问题是:我可以修改一些网页蜘蛛(在该网站或任何其他)做搜索,并只返回结果返回true的关键字?我不在乎它是一个bash脚本,Python,红宝石或任何其他语言。
让我知道,如果有任何不清楚,并抱歉,如果它有点冗长。
我不会为这么简单的事情创建一个真正的网络爬虫。我想就足够是:在一个文件中的城市
- 获取列表,说
cities.txt
- 图出使用什么URL模式从网站搜索(手动或数字出来的东西是可行的),你想。
- 编写一个shell脚本,它可以进行所有搜索并保存结果。
- 分析数据在硬盘上(例如,图其XPath的比赛结果对每个内容提供商,并与他们搜索)
数据采集部分应该是简单与wget
:
for city in `cat cities.txt`; do
for keyword in 'kung-fu' 'martial arts'; do
wget http://searchsite1.com/?search=${keyword}&city=${city}
wget http://searchsite2.com/groups/search?q=${keyword}+${city}
done
done
其他部分需要一点点搞清楚你自己。 YMMV,我就是这么做的。
非常感谢,这让我走上了正确的道路。现在我只需要弄清楚如何使用awk和gsub,我会在那里一半! – Guy0203 2011-04-11 04:22:04
难道你不能只用谷歌? – 2011-04-08 04:17:45
我不熟悉这个“谷歌”你说... 大声笑在所有认真的谷歌搜索没有找到我需要的所有东西,即使它做了相同的搜索11500次到达我的目的地的过程。同时我也希望为这次考验学到一些东西,这就是为什么我希望找到某种代码。 – Guy0203 2011-04-08 04:33:45
也许scrapy可能有用吗? http://scrapy.org/ – juanchopanza 2011-04-08 06:40:16