理解爬虫原理

作业要求源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881 

 

1. 简单说明爬虫原理

请求网站并提取数据的自动化程序。

 

2. 理解爬虫开发过程

1:向服务器发起请求
通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器的响应。
2:获取响应内容
如果服务器正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML、JSON、二进制文件(如图片、视频等类型)。
3:解析内容
得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是JSON,可以直接转成JOSN对象进行解析,可能是二进制数据,可以保存或者进一步处理
4:保存内容
保存形式多样,可以保存成文本,也可以保存至数据库,或者保存成特定格式的文件。
 
import requests
import bs4
from bs4 import BeautifulSoup
url = "http://news.gzcc.cn/html/2019/jxky_0329/11094.html"
res = requests.get(url)
res.encoding = 'utf-8'
soupn = BeautifulSoup(res.text,'html.parser')
print(soupn)

 

3.了解网页

写一个简单的html文件,包含多个标签,类,id

<html> 
    <body> 
          <h1 id="title">hi</h1> 
          <a href="#" class="link">hi,this is link1</a>
          <a href="# link2" class="link" qao=957> hi,this is link2</a>
    </body> 
</html>

4.

使用 Beautiful Soup 解析网页;

通过BeautifulSoup(html_sample,'html.parser')把上述html文件解析成DOM Tree

 

 

 

 5.提取一篇校园新闻的标题、发布时间、发布单位、作者、点击次数、内容等信息

代码:

import requests
import bs4
from bs4 import BeautifulSoup
url = "http://news.gzcc.cn/html/2019/jxky_0328/11087.html"
res = requests.get(url)
res.encoding = 'utf-8'
soupn = BeautifulSoup(res.text,'html.parser')
print("内容:"+soupn.select('.show-content')[0].text)
print(soupn.title)
#print(soupn.select(".show-info")[0].text.split(':')[1])

info = soupn.select(".show-info")[0].text.split()
#print(info)
xinDate = info[0].split(':')[1]
print(xinDate)
xinTime = info[1]
print(xinTime)
newdt = xinDate + ' '+ xinTime
print(newdt)
from datetime import datetime
now = datetime.now()
#now = now.strptime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').__format__(y='年',m='月',d='日',h='时',f='分',s='秒')
now = now.strftime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').format(y='',m='',d='',h='',f='',s='')

 

 

posted on 2019-04-01 10:30  LaxY0013  阅读(139)  评论(0编辑  收藏  举报

导航