最近导师给了一个任务:用Python爬取中国官员的官方信息,然后将信息中的关键信息(时间地点任务blablabla)抽取出来,绘制他们的关系图。
千里之行始于足下,我就从Python爬虫开始。
大致分为以下步骤:文本爬取--图片爬取--分词--信息抽取--关系网构建
一. 文本爬取(基于Python3.6):
这是我的第一个爬虫程序,在学长的指导下用时5天完成(惭愧啊...)。
之前咨询会爬虫的朋友,他说学爬虫的难点有两个:
1. 分析网址规律
2.提取要抓取的数据
我实践后的感觉是,他说得很对。上手爬虫需要有以下基础:
1.会一些基本的Python编程(事实上,只要略懂一种编程语言就可以,Python可以现学)
2.懂一点HTML的知识。这个我也是现学的,推荐一个很友好的网站:
http://www.w3school.com.cn/
3.正则表达式。这个主要用来提取自己需要的网页上的信息。这里也推荐一个网站:
http://www.runoob.com/regexp/regexp-syntax.html
其实,正则表达式如果用的不多,也可以直接百度寻找答案。
我是用python3.6实现爬虫的,用到了bs4这个库中的Beautiful Soup。通过cmd命令打开anaconda中的scripts文件夹,再输入pip install bs4 即可完成安装。当然,也可以在anaconda的界面中直接安装。
Beautiful Soup的具体用法,可以参考Beautiful Soup 的中文帮助文档:http://beautifulsoup.readthedocs.io/zh_CN/latest/#find
(你问我为啥知道这么多网站,当然是因为我啥都不会,都需要参考啊~~~)
在上面的代码中,我已经进行了详细注释,应该能大致看懂。下面重点解析几个容易出错的部分。
1. User-Agent问题
以下摘自:http://blog.csdn.net/qq_17612199/article/details/51106827
User-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。