一、python简单爬取静态网页

一、python简单爬取静态网页 标签:业务 mpi 标签 getc mat dom操作 解构 管

一、python简单爬取静态网页

标签:业务mpi标签getcmatdom操作解构管理去重

一、简单爬虫框架

  简单爬虫框架由四个部分组成:URL管理器、网页下载器、网页解析器、调度器,还有应用这一部分,应用主要是NLP配合相关业务。

  它的基本逻辑是这样的:给定一个要访问的URL,获取这个html及内容(也可以获取head和cookie等其它信息),获取html中的某一类链接,如a标签的href属性。从这些链接中继续访问相应的html页面,然后获取这些html的固定标签的内容,并把这些内容保存下来。

  一些前提:;所有要爬取的页面,它们的标签格式都是相同的,可以写一个网页解析器去获取相应的内容;给定的URL(要访问的资源)所获得的html,它包含的标签链接是可以筛选的,筛选后的标签链接(新的URL)会被继续请求其html文档。调度器是一个循环体,循环处理这些URL、请求以及html、网页解析。

  1.运行流程

      

    调度器是一个主循环体,负责不断重复执行URL管理器、下载器、解析器。URL是管理新的URL的添加、旧的URL的去除,以及URL的去重和记录。下载器顾名思义,就是根据URL,发送http请求,获取utf-8编码的字节流的html文件数据。解析器负责将html还原成DOM对象,并提供一套类似js的DOM操作的方法,从html中获取节点、属性、文本、甚至是样式等内容。

  2.URL管理器

    URL管理器有两个功能,获取待添加的URL–判断它是否在已被读取的URL集合里–[No]判断它是否在待读取的URL集合里–[No]添加到待读取的URL集合里。否则就直接抛弃。

    URL管理器一般放在内存、关系型数据库和缓存数据库里。python里可以使用set()集合去重。

  3.网页下载器

    向给定的URL发送请求,获取html。python的两个模块。内置urllib模块和第三方模块request。python3将urllib2封装成了urllib.request模块。

1 # 网页下载器代码示例
2 import urllib
3
4 url = \”http://www.baidu.com\”
5
6 print(\”第一种方法: 直接访问url\”)
7 response1 = urllib.request.urlopen(url)
8 print(response1.getcode()) # 状态码
9 print(len(response1.read())) # read读取utf-8编码的字节流数据
10
11 print(\”第二种方法: 设置请求头,访问Url\”)
12 request = urllib.request.Request(url) # 请求地址
13 request.add_header(\”user-agent\”, \”mozilla/5.0\”) # 修改请求头
14 response2 = urllib.request.urlopen(request)
15

作者: 库巴司机

为您推荐

返回顶部