日期:2014-05-20  浏览次数:20712 次

(新手)想做个网页抓取的东西,大神们给个思路吧。
有个任务。需要做一个类似网页采集的东西。我在网上找了点资料。(类似于火车头的东西)
现在能做的是:可以把给定的一个静态网页中的源代码给抓取下来。
(刚上手,别嫌弃做得丑啊)
但是对于想抓取的东西不能进行提取。求大神们给个思路。
比如:我想在新浪新闻网页中,把所有的新闻标题给抓取下来。
还有对于新闻标题所对应的的链接。这个新闻的正文网页中的内容也抓取出来。
也就是这个节点下的所有网页全都能抓取下来。

最好别弄些太高级的东西。还是新手阶段。

------解决方案--------------------
正则获取了。
------解决方案--------------------
使用httpclient工具包,非常方便,包括可以登录需要登录的网站,比如论坛,什么的。
1,使用httpclient连接网页,包括登录获得session。
2,获取要抓取页面的页面源码。
3,从页面源码中获取需要的信息。这个可以自己手动写个方法,比如需要的xxxx 在一堆html标记中,反过来根据这些标记定位说要的内容。
------解决方案--------------------
貌似bing有个爬虫的框架可以用

还有其他很多,可以搜一下
------解决方案--------------------
做这种东西,你要是觉得学正则麻烦的话,你会发现不学正则会更加困难百倍
------解决方案--------------------
jsoup吧 很好用,可通过DOM 取得节点下的所有内容,还有CSS以及类似于jQuery的操作方法来取出和操作数据
jsoup比httpclient操作要简单的多,只要懂点jquery,很快就上手了。
------解决方案--------------------
我们公司也提取网页的一些标签,我们老大建议我看这两个htmlclient,htmlparser可能对你有帮助。
------解决方案--------------------
我博客有HTMLParser的小例子,楼主可以参考参考
http://blog.csdn.net/jadyer/article/category/1157727
------解决方案--------------------
说穿了还是匹配问题!还是用正则表达式吧,别怕难,不懂就对照api。
------解决方案--------------------
引用:
有个小问题,<p data-client="important audit">[<a href="http://news.sina.com.cn/z/2013storm/" target="_blank">抚顺将明日定为哀悼日悼念遇难者</a> <a href="http://news.sina.com.cn/c/2013-08-23/085028026971.shtml" target="_blank">多名网民散布洪灾谣言被拘</a>]</p>
这一句用我的正则String regularTitle="target=._blank.>([\u4E00-\u9FA5].+?)</a>"。会将 <a href="http://news.sina.com.cn/c/2013-08-23/085028026971.shtml" target="_blank">多名网民散布洪灾谣言被拘</a>]</p>后面的也读进来。如果吧正则改成String regularTitle="target=._blank.>([\u4E00-\u9FA5].+?)</a>";这样则会把后面的遗漏。因为这是在同一行的。有没有什么好的解决方案


你是想分别读取这两个超链接么~~?