1
crazybubble 2013-07-23 10:59:21 +08:00 1
第一个问题,可以有很多种解决办法,比如用正则表达式来取guokr的url。
第二个问题的话,google对各种不用api来爬它搜索结果的非法手段都挺严格的,换不换user agent其实影响不大,禁止访问会从多种方面来检验你是不是爬虫的,你可以 1. 试着用api(免费的search api的rate limit我记得也很少),好处是这是获取搜索结果的合法的手段 2. 试着找些代理服务器,适时的换ip 3. 在你的爬虫里随机的休息一段时间,让爬虫不要一直保持高频率的爬取。 |
2
crazybubble 2013-07-23 11:00:45 +08:00 1
我有一点好奇,如果你把文本都截取下来了,你要在其中找出化学单词的话,是不是还要对文本分词?这样的话你还要训练你自己的分词器把?
|
3
shierji OP @crazybubble 直接去匹配现成的词库不行么?。。。有好一点的分词器推荐没有?中文跟英文的都要 T T
第一个问题我看了,python似乎有现成的模块,所以我现在在看python的语法…… 第二个问题,我试试看Google的搜索API,即使付费我感觉应该也问题不大。导师倒是说了可以出点小钱,我感觉即使有花费应该也不多…… 话说免费的每天限制100次貌似……我先试试吧。 |
4
crazybubble 2013-07-24 02:01:10 +08:00 1
直接匹配的话,容易发生很多问题,比如有一些化学专有名词可能中文上会有常用的两种写法,我打个比方哦。。我不是很懂化学,二恶英和二噁英,就是2种写法,如果你的词库里只有一种的话,另一种就匹配不到拉,另一个问题就是,比如氯,和氯化钠,其实都属于化学名次,如果在匹配氯的时候,氯化钠出现在文本里,这个氯就会被提取到,这并不是你想要的把?还有一些情况是中文分词的模糊性导致的,比如“这瓶醋酸死我了。。”,那可能你会从这句话里提取到醋酸这个化学名词。。。
中文分词其实github上也有现成的分词器,https://github.com/fxsjy/jieba, 英文的也很多,你可以搜搜看,但是我不确定你这里因为是化学专有名词,分词的效果可能没有那么好。可能需要自己训练,你可以看看52nlp.com上的中文分词的几篇文章。先试试那个github的分词器把,不好的话再自己搞。 |
5
justfindu 2013-07-24 09:27:08 +08:00 1
|
6
xunyu 2013-07-24 09:55:00 +08:00 1
第一个问题python可以的,按行读取正则匹配,
第二个问题多线程,多机器访问试试看行不 |