锁定老帖子 主题:定向爬虫 瓦力
精华帖 (3) :: 良好帖 (3) :: 新手帖 (1) :: 隐藏帖 (4)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-17
简单看了一下代码, 基本上不通用
public void loadConfig(String path) { if (isNeedLoadConfig) { try { Map map = new HashMap(); PropertiesFactory.loadPropertiesFile(map, path); String temp = new String(); encoding = (String)map.get("encoding"); res_list_beginPoint = (String)map.get("res_list_beginPoint"); res_list_endPoint = (String)map.get("res_list_endPoint"); regex_book = (String)map.get("regex_book"); regex_book_debar = (String)map.get("regex_book_debar"); temp = (String)map.get("book_id_index"); if (temp != null) book_id_index = Integer.parseInt(temp); temp = (String)map.get("book_name_index"); if (temp != null) book_name_index = Integer.parseInt(temp); temp = (String)map.get("book_author_index"); if (temp != null) book_author_index = Integer.parseInt(temp); temp = (String)map.get("sleep_time"); if (temp != null) sleep_time = Long.parseLong(temp); base_img_url = (String)map.get("base_img_url"); base_file_url = (String)map.get("base_file_url"); } catch (Exception e) { e.printStackTrace(); } isNeedLoadConfig = false; } } public List parseBooks(String url) throws IOException, InterruptedException { List list = new ArrayList(); String s = new String(); s = getOneHtml(url, encoding); List bs = getContentsByRegexAndDebar(regex_book, regex_book_debar, s); String bookId = new String(); String name = new String(); String author = new String(); String txtUrl = new String(); String imgUrl = new String(); for (int i = 0; i < bs.size(); i++) { Thread.sleep(sleep_time); s = (String)bs.get(i); String g[] = s.split(","); bookId = g[book_id_index]; name = g[book_name_index]; author = g[book_author_index]; txtUrl = (new StringBuilder(String.valueOf(base_file_url))).append(bookId).append(".txt").toString(); imgUrl = (new StringBuilder(String.valueOf(base_img_url))).append(bookId).append(".jpg").toString(); Book book = new Book(); book.setBookId(bookId); book.setName(name); book.setAuthor(author); book.setTxtUrl(txtUrl); book.setImgUrl(imgUrl); list.add(book); } return list; } 如果我需要换一个怎么办?? 建议做成接口或读取xml信息来,存放到数据库或其他位置 建议去试试httpclient |
|
返回顶楼 | |
发表时间:2009-06-17
还没明白这个是干嘛使的?
|
|
返回顶楼 | |
发表时间:2009-06-26
作为一个初级程序员的我,还没接触过网络爬虫之类的东西,看来是得要好好学学咯!
|
|
返回顶楼 | |
发表时间:2009-06-27
所有针对特定的一两个网站的抓取都是简单的。
爬虫可以说是简单的,仅仅是下载网页。 也可以说是复杂的,怎么多线程,分布式的情况下多个爬虫怎么控制,负载均衡用什么策略,并发怎样,怎样才能不给对方服务器造成压力以避免对方封IP,怎么识别抓取回来的网页编码,海量URL怎么排重,怎么识别列表页面和领域页面(垂直爬虫所对应的领域)。 所以说楼主放出的这个,楼上有的朋友说的没错,玩票性质。楼主别见怪:p 还有,页面信息抽取不应该放在爬虫这里,爬虫应该追求快速,简单。应单独写一个模块或接口来抽取。 有感而发,楼主别怪。欢迎交流。 |
|
返回顶楼 | |
发表时间:2009-09-25
geek87 写道 xiaoyu64814361 写道 geek87 写道 不知道,哪位有没有兴趣给加上,UI,做成一个产品,真正方便大家。。看小说,下载到手机,MP3,MP4上去
哥们你这个东西还差得太远了··· 来自越南的哥们,,自己没做过不要说别人嘛。。 你怎么就知道我没有做过呢? 你这个东西非常简单又没有伪装成一个浏览器,一下就被新浪网站给发现直接out出去了,兄弟,又没有自动登陆的,更别说图片识别啥的了。你的这个东西只是个玩具而已啦,要做到非常牛的那种还需要几年的时间呢··· |
|
返回顶楼 | |
发表时间:2009-11-29
xiaoyu64814361 写道 geek87 写道 xiaoyu64814361 写道 geek87 写道 不知道,哪位有没有兴趣给加上,UI,做成一个产品,真正方便大家。。看小说,下载到手机,MP3,MP4上去
哥们你这个东西还差得太远了··· 来自越南的哥们,,自己没做过不要说别人嘛。。 你怎么就知道我没有做过呢? 你这个东西非常简单又没有伪装成一个浏览器,一下就被新浪网站给发现直接out出去了,兄弟,又没有自动登陆的,更别说图片识别啥的了。你的这个东西只是个玩具而已啦,要做到非常牛的那种还需要几年的时间呢··· 不就是图片识别嘛。。AI,,呵呵。你说的没错。。我这里展示的就是个玩具。。真家伙没拿出来。。 |
|
返回顶楼 | |
发表时间:2009-12-01
geek87 写道 xiaoyu64814361 写道 geek87 写道 xiaoyu64814361 写道 geek87 写道 不知道,哪位有没有兴趣给加上,UI,做成一个产品,真正方便大家。。看小说,下载到手机,MP3,MP4上去
哥们你这个东西还差得太远了··· 来自越南的哥们,,自己没做过不要说别人嘛。。 你怎么就知道我没有做过呢? 你这个东西非常简单又没有伪装成一个浏览器,一下就被新浪网站给发现直接out出去了,兄弟,又没有自动登陆的,更别说图片识别啥的了。你的这个东西只是个玩具而已啦,要做到非常牛的那种还需要几年的时间呢··· 不就是图片识别嘛。。AI,,呵呵。你说的没错。。我这里展示的就是个玩具。。真家伙没拿出来。。 如果要做成分布式的话,需要做什么样的修改呢? 搜索爬虫如果要真正有应用价值,至少要并行爬行才行哦,要不然效率和数据量都不足以满足企业和用户的需求 |
|
返回顶楼 | |
发表时间:2010-01-26
估计你也没有通用的
|
|
返回顶楼 | |
发表时间:2010-02-09
我最近也做了一个这样的爬虫,我说说我的一个做法,一起讨论
我是这样来实现的 用的第三方组件有:httpclient, htmlparser 用了数据库mysql,swing做的界面 1. 建立了一个数据表,大致结构是这样 ------------------------------- uid -> 超链接ID utitle -> 超链接title url -> 超链接地址 umd5 -> 超链接地址md5加密.32位 2. 抓取网页的时候从首页开始抓取,先提取网页上面的所有链接,写入数据库,在写入数据库的时候,比对数据库中有没有这条链接,如果没有就写入,有就放弃。 3. 根据这些链接,继续重复操作。 ..................... 对于抓取的结果分析不是很满意,全文比配不好做,还有一个就是遇到生僻字会是乱码,记得把字库文件烤到jre里面去 |
|
返回顶楼 | |