数据采集第二次作业
数据采集第二次作业
作业1:
1、实验内容
要求:
在中国气象网(http://www.weather.com.cn)给定城市集的7日天气预报,并保存在数据库。
输出信息:
序号 | 地区 | 日期 | 天气信息 | 温度 |
---|---|---|---|---|
1 | 北京7日(今天) | 晴间多云,北部山区有阵雨或雷阵雨转晴转多云 | 31℃/17℃ | |
2 | 北京8日(明天) | 多云转晴,北部地区有分散阵雨或雷阵雨转晴 | 34℃/20℃ | |
3 | 北京9日(后台) | 晴转多云 | 36℃/22℃ | |
4 | 北京10日(周六) | 阴转阵雨 | 30℃/19℃ | |
5 | 北京11日(周日) | 阵雨 | 27℃/18℃ | |
6 | ... |
运行结果
代码
https://gitee.com/x42bd82a1/fzu-data-acquisition-course/blob/master/2/1.py
2、心得
由于城市编码不会轻易改变,可以手动查找城市编码列表并保存备用。
作业2:
1、实验内容
要求:
用requests和自选提取信息方法定向爬取股票相关信息,并存储在数据库中。
输出信息:
序号 | 股票代码 | 股票名称 | 最新报价 | 涨跌幅 | 涨跌额 | 成交量 | 成交额 | 振幅 | 最高 | 最低 | 今开 | 昨收 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 688093 | N世华 | 28.47 | 62.22% | 10.92 | 26.13万 | 7.6亿 | 22.3% | 32.0 | 28.08 | 30.2 | 17.55 |
2 | ... |
运行结果
代码
https://gitee.com/x42bd82a1/fzu-data-acquisition-course/blob/master/2/2.py
2、心得
目标输出有13列,手写会很烦,建议准备自动格式化、自动补全之类的代码。
需要观察请求的参数,方法包括逐个修改值并观察返回值。
pz选项控制每页返回结果数,设置为65535可以省略翻页步骤而且很美观。
返回结果形如 “{"f1":xx,"f2":xxxx.xx,"f3":xx.xx,"f4":xxxx.xx,”。
对于结果,可以手动ctrl-F查找页面中的数值对应的键名。
作业3:
1、实验内容
要求:
爬取中国大学2021主榜(https://www.shanghairanking.cn/rankings/bcur/2021) 所有院校信息,并存储在数据库中,同时将浏览器F12调试分析的过程录制Gif加入至博客中。
输出信息:
排名 | 学校 | 总分 |
---|---|---|
1 | 清华大学 | 969.2 |
2 | ... |
运行结果
代码
https://gitee.com/x42bd82a1/fzu-data-acquisition-course/blob/master/2/3.py
2、心得
观察浏览器调试工具Network界面可知,翻页时仅产生图片的请求,此前所需信息已被加载到本地。
课程进度未到WEB自动化工具,不考虑:)
假设网站没有以某种奇妙的方式编码数据,并尝试在浏览器调试工具Source界面直接搜索自己所需数据中应含有的字段。
本实验中得到一个用于返回json的js代码。
代码仅有一个替换和返回常量的函数,可以自行读取而无需运行。方法为读取函数变量名和变量值并创建字典后将变量名替换为变量值。