/1 前语/
前几天小编发布了手把手教你运用Python爬取西次署理数据(上篇),图片描绘木有赶上车的小伙伴,能够戳进去看看。今日小编带咱们进行网页结构的剖析以及网页数据的提取,具体步骤如下。
/2 主页剖析及提取/
首要进入网站主页,如下图所示。
图片描绘
https://www.fons.com.cn/tag/%e7%ae%80%e7%95%a5" target="_blank">简略剖析下页面,其间后边的 1 是页码的意思,剖析后发现每一页有100 多条数据,然后网站底部一共有 2700+页 的链接,所以一共ip 署理加起来超越 27 万条数据,可是后边的数据大部分都是许多年前的数据了,比方 2012 年,大约就前 5000 多条是最近一个月的,所以决议爬取前面100 页。通 过网站 url 剖析,能够知道这 100 页的 url 为:
图片描绘
规则清楚明了,在程序中,咱们运用一个 for 循环即可完好这个操作:
图片描绘
其间 scrapy 函数是爬取的首要逻辑,对应的代码为:
图片描绘
经过这个方法,咱们能够得到每一页的数据。
/3 网页元素剖析及提取/
接下来便是对页面内的元素进行剖析,提取其间的署理信息。
图片描绘
如上图,咱们意图是进行署理地域散布剖析,一起,在爬取进程中需求运用爬取的数据进行代 理更新,所以需求以下几个字段的信息:
Ip 地址、端口、服务器方位、类型
为此,先构建一个类,用于保存这些信息:
图片描绘
这样,每爬取一条信息,只需实例化一个 ProxyBean 类即可,十分便利。
接下来便是提取元素进程了,在这个进程我运用了正则表达式和 BeautifulSoup 库进行要害数据提取。
首要,经过剖析网页发现,一切的条目实际上都是放在一个
该便签内容如下:
咱们首要经过正则表达式将该标签的内容提取出来:
正则表达式为:
, 表明查找
之 间的恣意字符组成的数据。Python 中的完成如下:
图片描绘
其间得到的 data 便是这个标签的内容了。下面进一步剖析。
进入到 table 中,发现每一个署理别离站 table 的一列,可是这些标签分为两类,一 类包括特点 class=“odd”, 另一类不包括。
图片描绘
这个时分,能够运用 BeautifulSoup 对标签进行提取:
图片描绘
经过这种方法,就能获取到每一个列的列表了。
接下来便是从每个列中获取 ip、端口、方位、类型等信息了。进一步剖析页面:
1、IP 字段:
图片描绘
咱们运用正则表达式对 IP 进行解析,IP 正则如下:
(2[0-5]{2}|[0-1]?d{1,2})(.(2[0-5]{2}|[0-1]?d{1,2})){3}
图片描绘
2、 端口字段
图片描绘
端口由包裹,而且中心全部是数字,故可结构如下正则进行提取:
([0-9]+)
图片描绘
3、 方位字段
方位字段如下:
图片描绘
由 便签包裹,结构如下正则即可提取:
http://pdcfighting.com/
发表评论