网站代理程序-爬取免费IP并建立您自己的代理池

这是一篇记录我的坑的文章

抓取网页主要分为三个步骤:

分析目标网站并开始编译代码以保存数据

我们开始明天的话题吧。 前往目标网站(66个免费代理

网站代理程序-爬取免费IP并建立您自己的代理池

首先分析网页。 我们要抓取的是IP和端口号。

所有数据都存储在表中

检查网页源代码,发现数据直接在源代码中,于是我开始了接下来的操作提取数据并使用BeautifulSoup进行分析。

网站代理程序-爬取免费IP并建立您自己的代理池

首先获取每个页面上的所有行,然后提取每个单元格中的内容。 相信你可以看到代码。

# _*_ coding:utf8 _*_
import requests
from bs4 import BeautifulSoup
from multiprocessing import Pool
from pymongo import MongoClient
import re
data = []  # 用来存放爬取到的ip
# 爬取单个页面的ip
def 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的主要目的是什么? 其实就是利用它们。 我校准后,一万多个代理IP没有一个可用。 [哭][笑又哭]

我会提前尝试多找几个网站网站代理程序,明天先到这里。我是爬虫新手,从现在开始

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 网站代理程序-爬取免费IP并建立您自己的代理池 https://www.wkzy.net/game/199066.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务