欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

免费http代理ip提取(十大免费代理ip软件)

程序员文章站 2024-03-26 18:55:29
如今,需要使用代理ip的地方有很多,例如网络投票、大数据分析、人工智能等领域。那么如何获取代理ip呢?很多人想到了免费代理ip,免费不用钱,岂不美哉。虽然个人不太建议使用免费代理ip,但还是给大家分享...

如今,需要使用代理ip的地方有很多,例如网络投票、大数据分析、人工智能等领域。那么如何获取代理ip呢?很多人想到了免费代理ip,免费不用钱,岂不美哉。虽然个人不太建议使用免费代理ip,但还是给大家分享下思路方法。

免费http代理ip提取(十大免费代理ip软件)

一、收集网站

想要获取免费代理ip,首先得收集一些有免费代理ip的网站,然后编写代码去批量获取网站上的免费代理ip。这里就不说有哪些网站呢,自己去百度一搜,大把的有。

二、分析网站

收集到网站后,对含有免费代理ip的网页进行分析,比如总共有多少页,想要的数据是在哪里,要怎么来获取。

三、编写代码

分析完网站后,就可以开始编写代码了,这里贴出代码,仅供参考。

import requests
import csv
import pandas as pd
from fake_useragent import useragent
import time

#获取含有免费代理ip的所有页面url
def get_pageurls(starturl,endurl,pagecount):
    page_url_list = []

# range 从1开始,所以pagecount+1,左闭右开

    for i in range(1,pagecount+1):
    
    #页面url一般由三部分组成,前半部分url+第几页+后半部分url,
    #有的页面url最后以页数结尾,没有后半部分,那么endurl设置为空字符串即可
    
        page_url = starturl + str(i) + endurl
        page_url_list.append(page_url)

    return page_url_list

#请求所有免费代理ip的页面url,获取免费代理ip
def get_content(page_url_list):
    ua =useragent()
    data_list = []
    for page_url in page_url_list:
        try:
            resp = requests.get(page_url, headers={'user-agent': ua.random})
          #如果免费代理ip是放在表格里,可以直接使用 pandas来获取,比较简单,
          #若不是,则需要用beautifulsoup,或者xpath,或正则表达式来提取
            datas = pd.read_html(resp.text)
            # print(datas)
            data_list.append(datas)
            time.sleep(2)
            
        except:
            print('错误的请求url:'+page_url)

    # print(data_list)
    return data_list

# 将获取到的免费代理ip保存到本地的excel表格里,留待后用,也可以保存到txt文本,或数据库里
def save_csv(data_list,save_path):
    for datas in data_list:
        for data in datas:
            # print(data)
            data.to_csv(sava_path,mode='a',encoding='utf-8',header=1,index=0)




if __name__ == '__main__':
    #前半部分url
    starturl = 'https://*******/free/inha/'
   #页数
    pagecount = 4
   #若页面url最后是以页数结尾,后半部分url设置为空字符串
    endurl = ''
     #文件保存路径
    save_path = r'd:3.xlsx'

    page_url_list = get_pageurls(starturl,endurl,pagecount)
    data_list = get_content(page_url_list)
    save_csv(data_list,save_path)

也许代码不够完善,不当之处欢迎指正,希望和大家一起交流。