SCI期刊信息整理爬虫

1、需求

按ISSN号进行搜索,整理一个特定期刊列表里的所有期刊的年文章、投稿难易和一审周期等信息。使用PHP脚本编写。

网址:http://www.medsci.cn/sci/

(1)按ISSN号搜索


(2)得到结果,以及需要提取的部分


2、分析问题

三个步骤:
(1)使用网络蜘蛛从http://www.medsci.cn/sci/网站抓取信息,模拟输入要搜索的ISSN号,提交表单,获得查询结果的页面。
(2)使用正则表达式搜索结果页面,分析页面代码结构,把需要的信息提取出来。
(3)输出到文件,因为此输出文件无需考虑单元格的排版,为了简便,直接输出为XML的逗号表达式格式。这种格式可以使用Excel直接打开。
选用的类库:
(1)网络蜘蛛 Snoopy
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单。
(2) Excel_XML
把array中的数据输出为XML格式的电子表格。
其格式如下:





ISSN
年文章
投稿难易
一审周期

3、关键问题

正则表达式匹配测试网站:http://www.rubular.com/
匹配所有汉字:

utf-8编码:

preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)
gbk编码:

preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)

匹配特定汉字(比如候鸟):

utf-8编码:

";
print_r($match1);
echo "
"; ?>
gbk编码:

";
print_r($match2);
echo "
"; ?>


4、使用步骤

(1)输入格式为:
1751-8628,0308-5961,1472-3581,……
小技巧:可以通过拷贝Excel的ISSN号序列放到EditPlus中,Ctrl+H快捷键选择正则表达式复选框,把所有的\n替换为,即可。

(2)运行myspider.php脚本


(3)得到结果表格


5、程序源代码下载

地址: 期刊爬虫下载地址

你可能感兴趣的:(Web)