【python爬虫】使用代理IP进行网站爬取
我使用代理IP是为了刷票,公司参加了比赛,投票规则是每IP只能投8票,并没有每天刷新还是永久限制,无奈之下使用代理IP,
代理ip网址
http://www.goubanjia.com/
http://www.ip181.com/
https://www.kuaidaili.com/
python 环境
安装requests库
安装bs4库
proxies设置代理服务器地址
proxies = {'http': 'http://61.155.164.110:3128'}
http://www.goubanjia.com/
def get_ip_list(url, headers):"""获取代理服务器列表:param url::param headers::return:"""web_data = requests.get(url, headers=headers)soup = BeautifulSoup(web_data.text, 'lxml')ips = soup.find_all('tr')ip_list = []for i in range(1, len(ips)):ip_info = ips[i]tds = ip_info.find_all('td')ip_list.append(tds[2].text + '://' + tds[0].text)return ip_list
http://www.ip181.com/
def get_ip_list(url, headers):"""获取代理服务器列表:param url::param headers::return:"""web_data = requests.get(url, headers=headers)soup = BeautifulSoup(web_data.text, 'lxml')ips = soup.find_all('tr')ip_list = []for i in range(1, len(ips)):ip_info = ips[i]tds = ip_info.find_all('td')ip_list.append('http' + '://' + tds[0].text + tds[1].text)return ip_list
https://www.kuaidaili.com/
def get_ip_list(url, headers):"""获取代理服务器列表:param url::param headers::return:"""web_data = requests.get(url, headers=headers)soup = BeautifulSoup(web_data.text, 'lxml')ips = soup.find_all('tr')ip_list = []for i in range(1, len(ips)):ip_info = ips[i]tds = ip_info.find_all('td')ip_list.append(tds[5].text + '://' + tds[1].text + ':' + tds[2].text)return ip_list
完整代码
from bs4 import BeautifulSoup
import requestsdef get_ip_list(url, headers):"""获取代理服务器列表:param url::param headers::return:"""web_data = requests.get(url, headers=headers)soup = BeautifulSoup(web_data.text, 'lxml')ips = soup.find_all('tr')ip_list = []for i in range(1, len(ips)):ip_info = ips[i]tds = ip_info.find_all('td')ip_list.append(tds[2].text + '://' + tds[0].text)return ip_listdef cast_a_vote(url, headers, ip_list):"""投票:param url::param headers::return:"""for ip in ip_list:ip = ip.lower()proxies = {ip.split(':')[0]: ip}try:for i in range(0, 8):web_data = requests.get(url, headers=headers, proxies=proxies, timeout=1)print web_data.textexcept Exception as e:continueif __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}vote_url = 'https://www.baidu.com'for i in range(0, 10):url = 'http://www.goubanjia.com/free/index%d.shtml' % iip_list = get_ip_list(url, headers=headers)cast_a_vote(vote_url, headers, ip_list)
【python爬虫】使用代理IP进行网站爬取相关推荐
- python爬虫设置代理ip池
在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,那如何解决呢?使用代 ...
- python爬虫设置代理ip池——方法(一)
""" 在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网 ...
- Python 爬虫使用代理 IP 的正确方法
代理 IP 是爬虫中非常常用的方法,可以避免因为频繁请求而被封禁.下面是 Python 爬虫使用代理 IP 的正确方法: 1. 选择可靠的代理 IP 供应商,购买或者免费使用代理 IP 列表. 2. ...
- python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...
原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...
- 基于python爬虫————静态页面和动态页面爬取
基于python爬虫----静态页面和动态页面爬取 文章目录 基于python爬虫----静态页面和动态页面爬取 1. 爬虫的原理 2. 用正则表达式匹配获取数据 3. 页面源码解析 4. 通过req ...
- Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影
文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...
- Python爬虫《自动化学报》数据爬取与数据分析
Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...
- python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...
Python爬虫入门实战--------一周天气预报爬取[转载][没有分析 Python爬虫入门实战--------一周天气预报爬取[转载][没有分析] 来源:https://blog.csdn.ne ...
- Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息
Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...
最新文章
- MATLAB实现微积分基础知识(求导,积分,插值,曲线拟合,最小二乘)
- Google Guava 概要
- ida动态调试apk(so层)
- 为新研究准备好一块用武之地:最全任务型对话数据调研
- linux操作系统中文件系统管理--实训
- OSChina 周日乱弹 —— 七哥的北漂日记
- 内核中 subsys_initcall 以及初始化标号
- 【hortonworks/registry】registry 如何添加新的类型 支持 json
- 【Numpy基础】矩阵数组相乘与神经网络的实现
- SpringMVC文件上传(一)
- 怎么制止qq刷屏代码-vbs
- 报错error C3872: '0x3000': this character is not allowed in an identifier
- python读取grd数据_Matlab读取grd格式的文件
- python中pass关键字
- halcon—利用顶帽操作减轻图像灰度不均匀对二值化的影响
- 男人四十一枝花,我花开后百花杀!Orz..繁忙的工作之余,joke一下~~
- 华三HCL和华为ensp不能同时安装且ensp设备启动失败错误代码40怎么办?
- 移动软件技术——Activity(1)
- 曝孙杨已获驾照 曾无证驾车载年轻女子肇事
- 数据库系统概论第三单元基础知识(一)