网页组成
网页是由 HTML 、 CSS 、JavaScript 组成的。
HTML 是用来搭建整个网页的骨架,而 CSS 是为了让整个页面更好看,包括我们看到的颜色,每个模块的大小、位置等都是由 CSS 来控制的, JavaScript 是用来让整个网页“动起来”,这个动起来有两层意思,一层是网页的数据动态交互,还有一层是真正的动,比如我们都见过一些网页上的动画,一般都是由 JavaScript 配合 CSS 来完成的。
不同类型的文字通过不同类型的标签来表示,如图片用 标签表示,视频用 标签表示,段落用
标签表示,它们之间的布局又常通过布局标签
Demo
"container">
"wrapper">
Hello World
Hello Python.
将上面创建的.html文件用浏览器打开,这个页面的显示如下:
# 爬取python之禅并存入txt文件
with open('zon_of_python.txt', 'w') as f:
f.write(text[text.find(')+28:text.find('
')-1])
print(text[text.find(')+28:text.find('
')-1])
# 爬豆瓣top250电影
import requests
import os
if not os.path.exists('image'):
os.mkdir('image')
def parse_html(url):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"}
res = requests.get(url, headers=headers)
text = res.text
item = []
for i in range(25):
text = text[text.find('alt')+3:]
item.append(extract(text))
return item
def extract(text):
text = text.split('"')
name = text[1]
image = text[3]
return name, image
def write_movies_file(item, stars):
print(item)
with open('douban_film.txt','a',encoding='utf-8') as f:
f.write('排名:%d\t电影名:%s\n' % (stars, item[0]))
r = requests.get(item[1])
with open('image/' + str(item[0]) + '.jpg', 'wb') as f:
f.write(r.content)
def main():
stars = 1
for offset in range(0, 250, 25):
url = 'https://movie.douban.com/top250?start=' + str(offset) +'&filter='
for item in parse_html(url):
write_movies_file(item, stars)
stars += 1
if __name__ == '__main__':
main()
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body,
html,
#allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=w3lMr56n6QVusDZopknuezoGplykTxdF"></script> //在 ak=后面输入你的ak
<title>地图展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
//添加地图类型控件
map.addControl(new BMap.MapTypeControl({
mapTypes: [
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]
}));
map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
</script>
import requests
def getUrl(*address):
ak = 'w3lMr56n6QVusDZopknuezoGplykTxdF' ## 填入你的api key
if len(address) < 1:
return None
else:
for add in address:
url = 'http://api.map.baidu.com/geocoding/v3/?address={0}&output=json&ak={1}'.format(add,ak)
yield url
def getPosition(url):
'''返回经纬度信息'''
res = requests.get(url)
#print(res.text)
json_data = eval(res.text)
if json_data['status'] == 0:
lat = json_data['result']['location']['lat'] #纬度
lng = json_data['result']['location']['lng'] #经度
else:
print("Error output!")
return json_data['status']
return lat,lng
if __name__ == "__main__":
address = ['北京市清华大学','北京市北京大学','保定市华北电力大学','上海市复旦大学','上海交通大学','香港大学']
for add in address:
add_url = list(getUrl(add))[0]
print('url:', add_url)
try:
lat,lng = getPosition(add_url)
print("{0}|经度:{1}|纬度:{2}.".format(add,lng,lat))
except Error as e:
print(e)
url: http://api.map.baidu.com/geocoding/v3/?address=北京市清华大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
北京市清华大学|经度:116.33337396094367|纬度:40.009645090734296.
url: http://api.map.baidu.com/geocoding/v3/?address=北京市北京大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
北京市北京大学|经度:116.31683256328296|纬度:39.99887680537622.
url: http://api.map.baidu.com/geocoding/v3/?address=保定市华北电力大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
保定市华北电力大学|经度:115.52130317483764|纬度:38.89477430426888.
url: http://api.map.baidu.com/geocoding/v3/?address=上海市复旦大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
上海市复旦大学|经度:121.74295536914276|纬度:31.06665792321301.
url: http://api.map.baidu.com/geocoding/v3/?address=上海交通大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
上海交通大学|经度:121.89734480154834|纬度:30.88944317876234.
url: http://api.map.baidu.com/geocoding/v3/?address=香港大学&output=json&ak=w3lMr56n6QVusDZopknuezoGplykTxdF
香港大学|经度:121.51396543701665|纬度:31.245951335929654.
"UTF-8">
document.write('hello');