作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881
一. 简单说明爬虫原理
爬虫即是从网络中爬取数据,就python为例,利用requests模块访问网址,将访问后返回的html保存下来,并利用bs4进行分析,将想要的数据保存下来。
二. 理解爬虫开发过程
1.简要说明浏览器工作原理
从用户键入网址回车确认后,浏览器向服务器发送http请求,服务器接收到请求后相应的业务逻辑处理,并返回数据,浏览器接收到数据后,便开始解析返回来的数据,并生成DOM模型,渲染界面。
2.使用 requests 库抓取网站数据
运行代码:
get=requests.get('http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0328/11086.html')
get.encoding='utf-8'
print(get.text)
运行效果:

3.了解网页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="header">
<button name="first_btn"></button>
</div>
<div class="main-contain">
<table>
<tr>
<td>id</td>
<td>姓名</td>
<td>年龄</td>
</tr>
</table>
</div>
<div class="footer">
</div>
</body>
</html>
4.使用 Beautiful Soup 解析网页
import bs4
from bs4 import BeautifulSoup
get=requests.get('http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0328/11086.html')
get.encoding='utf-8'
soup=BeautifulSoup(get.text,'html.parser')
三.提取一篇校园新闻的标题、发布时间、发布单位、作者、点击次数、内容等信息
import requests
import bs4
from bs4 import BeautifulSoup
from datetime import datetime
import re
get=requests.get('http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0328/11086.html')
get.encoding='utf-8'
soup=BeautifulSoup(get.text,'html.parser')
title=soup.select('.show-title')[0].text;
head=soup.select('.show-info')[0].text.split()
datetime=datetime.strptime(head[0][5:]+" "+head[1],'%Y-%m-%d %H:%M:%S')
time = re.findall("\d+",requests.get('http://oa.gzcc.cn/api.php?op=count&id=11086&modelid=80').text.split(';')[3])[0]
content=soup.select('.show-content')[0].text
print('标题:'+title)
print('发布时间:'+str(datetime))
print(head[4])
print(head[2])
print('点击次数:'+time)
print(content)