当前位置: 首页 > 后端技术 > Python

手把手教你用Python爬取西瓷代理数据(下)

时间:2023-03-26 01:15:40 Python

/1前言/前几天,小编发布了一份分步教程,教你用Python爬取西瓷代理数据(下),没时间追的朋友,可以戳进去看看。今天,小编就带大家分析一下网页的结构,提取网页的数据。具体步骤如下。/2首页分析与提取/首先??进入网站首页,如下图所示。对页面进行简单分析后,后面的1表示页码。经过分析发现每个页面都有100多条数据,然后网站底部的链接一共2700+页,所以总ip代理加起来就是27万多条数据,但后面的数据大多是多年前的数据。比如2012年,前5000条是上个月的,所以我决定抓取前100页。通过网站url分析,我们可以知道这100个页面的url是:规则显而易见。在程序中,我们使用一个for循环来完成这个操作:scrapy函数是爬取的主要逻辑,对应的代码是:通过这个方法,我们可以获取到每个页面的数据。/3网页元素分析与提取/接下来就是对页面中的元素进行分析,提取代理信息。如上图所示,我们的目的是分析代理商的地域分布。同时,我们在爬取过程中需要使用爬取到的数据来更新agent,所以需要以下字段的信息:IP地址、端口、服务器位置、类型。先建一个类来保存信息:这样每次爬取一条信息,只需要实例化一个ProxyBean类,非常方便。下一步是提取元素的过程。在这个过程中,我使用了正则表达式和BeautifulSoup库来提取关键数据。首先,通过分析网页,发现实际上所有的条目都放在了一个

标签中。note的内容如下:...我们先通过正则表达式提取label的内容:正则表达式为:([Ss]*),表示查找到的任意字符之间组成的数据。Python中的实现如下:获取的数据就是这个标签的内容。下面进一步分析。进入表格,发现每个agent都站在表格的一列,但是这些标签分为两类,一类包含属性class="odd",一类没有。这时候可以使用BeautifulSoup提取标签:这样就可以得到每一列的列表。接下来就是从每一列中获取ip、端口、位置、类型等信息。进一步分析页面:1、IP字段:我们使用正则表达式来分析IP,IP正则如下:(2[0-5]{2}|[0-1]?d{1,2})(.(([0-9]+)3.location字段location字段如下:用便利贴包裹,结构可以提取如下: