快捷搜索:  汽车  科技

python实现二级ip代理(怎么用python批量获取免费代理IP)

python实现二级ip代理(怎么用python批量获取免费代理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

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

python实现二级ip代理(怎么用python批量获取免费代理IP)(1)

一、收集网站

想要获取免费代理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)

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

猜您喜欢: