美文网首页
网络爬虫尝试

网络爬虫尝试

作者: _HYPERCHEN_ | 来源:发表于2017-12-14 11:36 被阅读28次

要   求: 爬取歌星演员的信息 写入excel
入口URL:http://www.mingxing.com/list/neidi
检索URL:http://www.baidu.com/item

显而易见,用检索url搜索杨幂,然后查看页面源代码,基本上可以看到所有的信息,并没有通过js再生成的新内容,直接进行抓取即可。

分析页面结构之后,步骤:

1.获取所有的明星列表
2.根据明星列表,获取单个明星的名字
3.根据明星名字去获取具体的信息
4.根据明星的属性 写入EXCEL

在爬取某个具体的信息时:

1.根据正则截取信息所在的大概片断 <div class ="name">..info..</div>
2.获得info对应的片断后,再根据正则截取所需要的字段

了解思路后,之后就是调API的工作了,不过遇到了一些问题:

1.拼接中文字符串时,需要对字符串进行编码,中文需要变成字母,这样才能变成ASCII码被HTTP所理解。
2.正则表达式有点难,建议先去看一下python的正则表达式的说明。
3.有些信息抓取过来解析时可能没有规律,很难利用正则解析,这个时候可以先将html去除,然后再根据某些分割符进行去杂洗净。

基本完成后,还可以改进的一些方面:

1.解析速度不是很快,可以在多线程或者是解析上优化
2.解析时,偶尔会出现停顿的现象,可以考虑解析多少次后换个代理
3.可视化数据
代码的主要结构

由于代码比较多,就不贴了,主要分为这几块:

1.类的定义
2.流程方法
3.节点信息的提取方法
4.辅助方法
5.主方法

具体看代码吧:https://github.com/hypnosia6220/starSpider/

备注:成就这一属性,数据去杂还有点问题

相关文章

网友评论

      本文标题:网络爬虫尝试

      本文链接:https://www.haomeiwen.com/subject/afwhwxtx.html