免费网页代理,爬取网页数据的方法

这是一篇记录自己踩坑的文章

爬取网页分三大步骤:

分析目标网站着手编写代码保存数据

下面开始今天的主题。上目标网站(66免费代理)

首先分析网页,我们要爬取的是ip和端口号

免费网页代理,爬取网页数据的方法

所有数据都存在表格里

查看网页源码,发现数据直接在源码中,因此开始接下来的操作,提取数据,使用BeautifulSoup解析。

先拿到每一页上的所有行,再提取每一个单元格中的内容,相信见代码

# _*_ coding:utf8 _*_import requestsfrom bs4 import BeautifulSoupfrom multiprocessing import Poolfrom pymongo import MongoClientimport redata = [] # 用来存放爬取到的ip# 爬取单个页面的ipdef getip(page): db = MongoClient(‘127.0.0.1’, 27017).test # url = “https://www.89ip.cn/index_%s.html” % page # 该代理检测不可用 url = ‘http://www.66ip.cn/%s.html’ % page headers = { ‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36’, ‘Referer’: ‘http://www.66ip.cn/index.html’, } resp = requests.get(url=url, headers=headers, timeout=2) soup = BeautifulSoup(resp.text, ‘lxml’) for item in soup.find_all(‘tr’)[2:]: try: ip = item.find_all(‘td’)[0].get_text().strip() port = item.find_all(‘td’)[1].get_text().strip() data.append({‘ip’: ‘{}:{}’.format(ip, port), ‘verify’: False}) if len(data) == 0: print(“结束”) print(data) db.ippool.insert_many(data) # print(port) except: continue # 发生异常的时候跳过此次爬取,继续下一轮

经过一番操作,成功获取数据,后面就是比较糟糕的事情了。我们爬取代理ip的主要目的是什么,当然是使用他们呀。在我校验之后,一万多个代理ip没有一个能用的。[流泪][笑哭]

本文来自作者:电商百晓生,不代表小新网立场!

转载请注明:https://www.xiaoxinys.cn/479755.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。