我们计划抓取的数据:杭州的天气信息
实现数据抓取的逻辑:使用python 请求 URL,会返回对应的 HTML 信息,我们解析 html,获得自己需要的数据。(很简单的逻辑)
第一步:创建 Python 文件
![](https://i-blog.csdnimg.cn/blog_migrate/e763cb659cd09fa2c3ea0ec76e3caf32.webp?x-image-process=image/format,png)
写第一段Python代码
![](https://i-blog.csdnimg.cn/blog_migrate/ff9bb10ade8f3850863c1e3f3689c19f.webp?x-image-process=image/format,png)
这段代码类似于 Java 中的 Main 方法。可以直接鼠标右键,选择 Run。
![](https://i-blog.csdnimg.cn/blog_migrate/a53e55f5b247ce2b9c901a6e30a8c9fa.webp?x-image-process=image/format,png)
第二步:请求RUL
python 的强大之处就在于它有大量的模块(类似于Java 的 jar 包)可以直接拿来使用。
我们需要安装一个 request 模块: File - Setting - Product - Product Interpreter
![](https://i-blog.csdnimg.cn/blog_migrate/afdf6b423d5cd9104c8d22dbd0630076.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/d908fb22fa40a954a9864ac04e087161.webp?x-image-process=image/format,png)
点击如上图的 + 号,就可以安装 Python 模块了。搜索 requests 模块(有 s 噢),点击 Install。
![](https://i-blog.csdnimg.cn/blog_migrate/056f10616443595fe253c74e849f7cdf.webp?x-image-process=image/format,png)
我们顺便再安装一个beautifulSoup4 和 pymysql模块,beautifulSoup4 模块是用来解析 html 的,可以对象化 HTML 字符串。pymysql 模块是用来连接 mysql 数据库使用的。
![](https://i-blog.csdnimg.cn/blog_migrate/3e82bbb7bbd3b2cdce63ae960b00ff90.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/ac461c49e95622b4a13d3ce56d735059.webp?x-image-process=image/format,png)
相关的模块都安装之后,就可以开心的敲代码了。
定义一个 getContent 方法:
![](https://i-blog.csdnimg.cn/blog_migrate/125d981ecf7bffe09d0a1682f1db1668.webp?x-image-process=image/format,png)
在 main 方法中调用:
![](https://i-blog.csdnimg.cn/blog_migrate/bd3d027ef2f7b75a380313f13b4633fa.webp?x-image-process=image/format,png)
第三步:分析页面数据
定义一个 getData 方法:
![](https://i-blog.csdnimg.cn/blog_migrate/21c173106e58805cc15901fd6f56e8f6.webp?x-image-process=image/format,png)
上面的解析其实就是按照 HTML 的规则解析的。可以打开杭州天气在开发者模式中(F12),看一下页面的元素分布。
![](https://i-blog.csdnimg.cn/blog_migrate/bac9217cfcbcab7c5aac2625446671a7.webp?x-image-process=image/format,png)
在 main 方法中调用:
![](https://i-blog.csdnimg.cn/blog_migrate/93a1dcf7a00cd7f88fe7a6de900f1d18.webp?x-image-process=image/format,png)
数据写入excel
现在我们已经在 Python 中拿到了想要的数据,对于这些数据我们可以先存放起来,比如把数据写入 csv 中。
定义一个 writeDate 方法:
![](https://i-blog.csdnimg.cn/blog_migrate/6f4fbc838e5a6708eaadf8aac011d2e9.webp?x-image-process=image/format,png)
在 main 方法中调用:
![](https://i-blog.csdnimg.cn/blog_migrate/a59a6513e2c17179e4d68cadefe1d9a4.webp?x-image-process=image/format,png)
执行之后呢,再指定路径下就会多出一个 weather.csv文件,可以打开看一下内容。
![](https://i-blog.csdnimg.cn/blog_migrate/2aaf0905eba210e371f942cd142137c7.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/ffba22271f035ad041713d142480abc7.webp?x-image-process=image/format,png)
到这里最简单的数据抓取--储存就完成了。