如何获取免费代理IP?思路方法分享

作者:IPIDEA

2022-10-11 15:11:58

如今,需要使用代理IP的地方有很多,例如网络采集公开数据、大数据分析、人工智能等领域。那么如何获取代理IP呢?

如何获取免费代理IP?思路方法分享

很多人想到了免费代理IP,免费不用钱,岂不美哉。虽然个人不太建议使用免费代理IP,但还是给大家分享下思路方法。

一、收集网站想要获取免费代理IP,首先得收集一些有免费代理IP的网站,然后编写代码去防止账号关联获取网站上的免费代理IP。这里就不说有哪些网站呢,自己去百度一搜,大把的有。

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

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

importrequestsimportcsvimportpandasaspdfromfake_useragentimportUserAgentimporttime
#获取含有免费代理IP的所有页面urldefget_pageUrls(startUrl,endUrl,pageCount):page_url_list=[]#range从1开始,所以pageCount+1,
左闭右开foriinrange(1,pageCount+1):#页面URL一般由三部分组成,前半部分url+第几页+后半部分url,
#有的页面URL最后以页数结尾,没有后半部分,那么endUrl设置为空字符串即可
page_url=startUrl+str(i)+endUrlpage_url_list.append(page_url)returnpage_url_list
#请求所有免费代理IP的页面url,获取免费代理IP
defget_content(page_url_list):ua=UserAgent()data_list=[]forpage_urlinpage_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)returndata_list
#将获取到的免费代理IP保存到本地的Excel表格里,留待后用,也可以保存到TXT文本,
或数据库里
defsave_csv(data_list,save_path):fordatasindata_list:fordataindatas:#print(data)
data.to_csv(sava_path,mode=a,encoding=utf-8,header=1,index=0)if__name__==__main__:
#前半部分urlstartUrl=https://*******/free/inha/#页数pageCount=4#若页面URL最后是以页数结尾,后半部分url设置为空字符串endUrl=
#文件保存路径
save_path=rD:\3.xlsxpage_url_list=get_pageUrls(startUrl,endUrl,pageCount)
data_list=get_content(page_url_list)save_csv(data_list,save_path)

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

*ipidea提供的服务必须在境外网络环境下使用

热门资讯