我正在尝试使用以下方式抓取新闻网站的搜索结果获得。
该网站的名称是www.voanews.com。
在输入我的搜索关键字并单击搜索,它会继续显示结果。然后我可以指定一个“至”和“从”日期并再次点击搜索。
此后 URL 变为:
http://www.voanews.com/search/?st=article&k=mykeyword&df=10%2F01%2F2013&dt=09%2F20%2F2013&ob=dt#article
结果的实际内容就是我想要下载的。
为了实现这一点,我创建了以下 wget 命令:
wget --reject=js,txt,gif,jpeg,jpg \
--accept=html \
--user-agent=My-Browser \
--recursive --level=2 \
www.voanews.com/search/?st=article&k=germany&df=08%2F21%2F2013&dt=09%2F20%2F2013&ob=dt#article
不幸的是,爬虫不会下载搜索结果。它只会进入上方的链接栏,其中包含“主页、美国、非洲、亚洲……”链接,并保存它们链接到的文章。
看起来他的爬虫根本不检查搜索结果链接。
我做错了什么,我该如何修改 wget 命令以仅下载结果搜索列表链接(当然还有它们链接到的网站)?
答案1
这本身不是一个答案......而是使用标准:
wget.exe -o logfile -r -l 2 http://www.voanews.com/search/?st=article&k=german&df=11%2F01%2F2013&dt=11%2F03%2F2013&ob=dt#article
抓取所有页面(以及更多)。我会删除用户代理条款和-np
父目录排除。
就个人而言...单次搜索中有很多链接(例如标签),因此您会通过标准递归得到一些混乱的信息。