模仿老师的代码开始自己的爬虫项目
写在前面
- 这篇子博客主要是记录我写的三个爬虫得心得,主要把精力集中在第一个爬取什么值得买网站上了,剩下两个通过修改爬取信息和正则表达式,可以很快的运作起来
- 我会运用一一讲解代码的形式来介绍为什么要这么做,或者这么做有什么作用(第一个例子)
- 剩下,我爬取了十个左右的网站,因为代码大多数重复,所以我就简要介绍一下他们的不同之处
什么值得买 网站
1 | var source_name = "什么值得买?"; |
- 从下面开始的十一个网站,就是如法炮制一般,可以批量生产了,唯一要改动的,就是编码格式,正则表达式,还有更具不同网页源代码改变不同存储类型中的样式
- 比如,同样是title_format 虎扑后面就是 #j_data 网易就是 h1 这种非常灵活,需要我们一一对照devtool
虎扑论坛
1 | var source_name = "虎扑"; |
网易新闻
1 | var source_name = "网易"; |
- 值得注意的是,网易的编码是GBK而不是utf-8如果以utf-8的编码格式这样把他存入数据库或者保存在json文件夹中,会出现乱码
- 只要改成myEncoding = “GBK”就可以完美规避这个问题
新浪
1 | var source_name = "新浪体育"; |
东方财富
1 | var source_name = "东方财富网"; |
雪球财经
1 | var source_name = "雪球财经"; |
中国证券网
1 | var source_name = "中国证券网"; |
- 这里同样注意,中国证券网也是GBK编码的
中财网
1 | var source_name = "中财网"; |
凤凰财经
1 | var source_name = "凤凰财经"; |
新浪财经
1 | var source_name = "新浪财经"; |
财经网
1 | var source_name = "财经网"; |
金融界
1 | var source_name = "金融界"; |
- 注意,金融界也是GBK编码的网站
这些网站的爬虫,我也都有存储至MySQL
这里牵扯到一些复杂的分类问题
一开始我想把所有文件分开来放在不同databse下的不同table
- 但是后来我觉得切换不是很方便,所以直接把所有table放在同一个crawl 数据库下
- 最后,因为爬取了很多金融网站,而且为了给最后的express框架做一些内容上的支撑,所以我把所有的财经类网站放到了一张名为经济新闻的表中,这时候我们可以看到一张巨大的表格