1.数据获取原则:
在没有恶意动机下,对一些需求数据进行获取,加以分析,得出结论,得以应用,创造价值。
2.为什么是python:
很多语言都是可以写爬虫,包括python、java、PHP、C#、Go等,但是我觉得python 简明 & Standing on Shoulders of Giants
3.数据获取方法分类:
①.通过API直接获取数据
API通常从服务器返回JSON或者XML格式的数据,因为返回的数据都是标准的格式,所以很好处理。但是,很多API需要客户验证,当然也存在一些不需要注册、验证的。
e.g
中国天气网实时天气信息:http://www.weather.com.cn/data/sk/101110101.html,其中101110101是城市的代码,城市代码都是固定的可以在网上查出来。
测试(终端->ipython3;python3.6.7;西安):
In [1]: from urllib import request
In [2]: a = request.urlopen('http://www.weather.com.cn/data/sk/101110101.html')
In [3]: print(a.read().decode('utf-8'))
{"weatherinfo":{"city":"西安","cityid":"101110101","temp":"23.3","WD":"西南风","WS":"小于3级","SD":"52%","AP":"962.7hPa","njd":"暂无实况","WSE":"<3","time":"18:00","sm":"1.2","isRadar":"1","Radar":"JC_RADAR_AZ9290_JB"}}
这样获取到JSON格式的数据,之后你可以查下python怎么处理JSON数据即可达到目的。但是有很多都是需要注册,收费的。当然,如果你要的数据有提供API,挺好,要是你很不缺资金,那会更好。
②.网页获取源码
通过url获取HTML数据,并解析。
e.g
三国演义小说(贼喜欢看):http://www.purepen.com/sgyy/001.htm ,这是第一回。
测试(终端->ipython3;python3.6.7;三国演义):
In [1]: from urllib import request
In [2]: a = request.urlopen('http://www.purepen.com/sgyy/001.htm')
In [3]: print(a.read().decode('gbk'))
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>《三国演义》第一回 宴桃园豪杰三结义 斩黄巾英雄首立功 (纯文学网站)</title>
<META content="《三国演义》" name=description>
<META content="三国演义," name=keywords>
<META name="author" content="Webpages by Purepen.com">
<META name="copryright" content="2003, 2006, Purepen.com">
</head>
<body vLink=#0000ff aLink=#0000ff link=#0000ff bgcolor="#FFFFFF">
<p> >>> <a href="../index.html">纯文学网站首页</a> >>> <a href="index.htm">《三国演义》目录</a></p>
<p align="center"><font color="#000000" size="3"><br><br><b>《三国演义》第一回 宴桃园豪杰三结义 斩黄巾英雄首立功 </b></font>
<center>
<table><tr><td>
<pre style="line-height: 200%"><FONT COLOR="#000000" face="宋体" size="3">
滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。
青山依旧在,几度夕阳红。
白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢。
古今多少事,都付笑谈中。
——调寄《临江仙》
话说天下大势,分久必合,合久必分。周末七国分争,并入于秦。及秦灭之后,楚、汉
分争,又并入于汉…………
当然,剩下的章节看看这个url就知晓了 001、002……
③.part2 再续