商业爬虫学习笔记day3
一. 付费代理发送请求的两种方式
第一种方式:
(1)代理ip,形式如下:
money_proxy = {"http":"username:pwd@192.168.12.11:8080"}
(2)代理的处理器
proxy_handler = urllib.request.ProxyHandler(money_proxy)
(3)通过处理器创建opener
opener = urllib.request.build_opener(proxy_handler)
(4)open发送请求
opener.open("http://www.baidu.com")
第二种方式发送付费ip地址
use_name = "abcname"
pwd = "123456"
proxy_money = "123.158.63.130:8888"
# 创建密码管理器,添加用户名和密码
password_manager = urllib.request.HTTPasswordMgrWithDefaultRealm()
# uri定位 uri>url
# url 资源定位符
password_manager.add_password(None, proxy_money, use_name, pwd)
# 创建可以验证代理ip的处理器
handle_auth_proxy = urllib.request.ProxyBasicAuthHandler(password_manager)
# 根据处理器创建opener
handle_quth = urllib.request..build_opener(handle_auth_proxy)
# 发送请求
response = opener_auth.open("http://www.baidu.com")
import urllib.request #付费的代理发送
#1.用户名密码(带着)
#通过验证的处理器来发送 def money_proxy_use():
# #第一种方式付费代理发送请求
# #1.代理ip
# money_proxy ={"http":"username:pwd@192.168.12.11:8080"}
# #2.代理的处理器
# proxy_handler=urllib.request.ProxyHandler(money_proxy)
#
# #3.通过处理器创建opener
# opener = urllib.request.build_opener(proxy_handler)
# #4.open发送请求
# opener.open("http://www.baidu.com")
# #第二种方式发送付费的ip地址
use_name = "abcname"
pwd = "123456"
proxy_money = "123.158.63.130:8888"
#2.创建密码管理器,添加用户名和密码
password_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm()
#uri定位 uri>url
#url 资源定位符
password_manager.add_password(None,proxy_money,use_name,pwd)
#3.创建可以验证代理ip的处理器
handle_auth_proxy = urllib.request.ProxyBasicAuthHandler(password_manager)
#4.根据处理器创建opener
opener_auth = urllib.request.build_opener(handle_auth_proxy)
#5.发送请求
response = opener_auth.open("http://www.baidu.com")
print(response.read()) money_proxy_use()
二. 爬取自己公司的数据,做数据分析(admin)
import urllib.request def auth_nei_wang():
#1.用户名密码
user = "admin"
pwd = "adimin123"
nei_url = "http://192.168.179.66" #2.创建密码管理器
pwd_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm() pwd_manager.add_password(None,nei_url,user,pwd) #创建认证处理器(requests)
auth_handler = urllib.request.HTTPBasicAuthHandler(pwd_manager) opener = urllib.request.build_opener(auth_handler) response = opener.open(nei_url)
print(response) auth_nei_wang()
商业爬虫学习笔记day3的更多相关文章
- 商业爬虫学习笔记day1
day1 一. HTTP 1.介绍: https://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html http://blog.csdn.ne ...
- 商业爬虫学习笔记day2
1. get传参 (1)url中包含中文报错解决方法 urllib.request.quote("包含中文的url", safe = "string.printtable ...
- 商业爬虫学习笔记day4
一.获取登录后页面信息的两种方法 1.第一种方法: 人为把有效cookies加到请求头中,代码如下 import urllib.request # 确定url url = "https:// ...
- 商业爬虫学习笔记day8-------json的使用
一. 简介 JSON,全称为JavaScript Object Notation(JavaScript对象标记),它通过对象和数组的组合来表示数据,是一种轻量级的数据交换格式.它基于 ECMAScri ...
- 商业爬虫学习笔记day7-------解析方法之bs4
一.Beautiful Soup 1.简介 Beautiful Soup 是python的一个库,最主要的功能是从网页抓取数据.其特点如下(这三个特点正是bs强大的原因,来自官方手册) a. Beau ...
- 商业爬虫学习笔记day6
一. 正则解析数据 解析百度新闻中每个新闻的title,url,检查每个新闻的源码可知道,其title和url都位于<a></a>标签中,因为里面参数的具体形式不一样,同一个正 ...
- 商业爬虫学习笔记day5
一. 发送post请求 import requests url = "" # 发送post请求 data = { } response = requests.post(url, d ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- python网络爬虫学习笔记(二)BeautifulSoup库
Beautiful Soup库也称为beautiful4库.bs4库,它可用于解析HTML/XML,并将所有文件.字符串转换为'utf-8'编码.HTML/XML文档是与“标签树一一对应的.具体地说, ...
随机推荐
- 输出单层结点 牛客网 程序员面试金典 C++ Python
输出单层结点 牛客网 程序员面试金典 C++ Python 题目描述 对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表. 给定二叉树的根结点指针TreeNode* root,以及链表上 ...
- Linux Kernel 記憶體管理機制之美<转>
转自--http://five.rdaili.com/sohu.com.php?u=Mq3EniVnae0axim7jkGhH0IhA9uho6CQso7R1aYomXWJ9UemfwUQYmKRc8 ...
- redis的一般使用和常规配置
https://www.cnblogs.com/HTLucky/p/12027889.html Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANS ...
- 三(二)、AOP配置
一.AOP的配置(注解) 步骤一.导入jar包: 处理那5个jar包之外,还需要导入: aopalliance aspectjweaver spring-aop spring-aspects 步骤二. ...
- 设计模式学习-使用go实现桥接模式
桥接模式 前言 定义 优点 缺点 应用场景 代码实现 参考 桥接模式 前言 桥接模式的代码实现非常简单,但是理解起来稍微有点难度,并且应用场景也比较局限,所以,相当于代理模式来说,桥接模式在实际的项目 ...
- vue中axios的post和get请求示例
POST请求 methods: { isclick() { if (this.account == "" || this.pwd == "") { this.$ ...
- Python基础(数据类型与变量、字符串和编码)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # name = 200 # if name > 100: # print(name,'大于100' ...
- Duboo整合SpringBoot超级详细例子(附源码)
dubbo3.0整合SpringBoot例子 dubbo新版本(3.0以上)在相对于 dubbo 旧版本(2.5.2.6.2.7),有很多的不相同的地方. 官方文档也说了新版本的特性: https:/ ...
- dart系列之:dart中的异步编程
目录 简介 为什么要用异步编程 怎么使用 Future 异步异常处理 在同步函数中调用异步函数 总结 简介 熟悉javascript的朋友应该知道,在ES6中引入了await和async的语法,可以方 ...
- x86汇编反编译到c语言之——(1)表达式求值及赋值语句
一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...