爬虫python入门_python之路pdf
大家好,又见面了,我是你们的朋友全栈君。
ProxyHandler代理器 在写爬虫时常常需要做代理IP以反爬虫 常用IP有: 西刺免费代理:xicidaili.com/nt/ 快代理:http://kuaidaili.com/ 代理云:http://dailiyun.com/
查看代理的IP:http://www.httpbin.org/ip 网站:http://www.httpbin.org/可查看http的一些参数。
#检查当前ip
from urllib import request,parse
url="http://httpbin.org/ip"
resp=request.urlopen(url)
print(resp.read())
代理的原理:先访问代理服务器,利用代理服务器去访问目标网站,然后再将访问结果返回给自己。 步骤: 1.使用ProxyHandler{“类型”:“ip:端口”}创建一个hander 2.利用创建的handler创建一个opener 3.利用opener发送请求 #其实,urlopen的底层就是一个如此的操作。 代码如下:
handler=request.ProxyHandler({
"http":"112.95.205.49:8888"})
opener=request.build_opener(handler)
resp=opener.open(url)
print(resp.read())
结果: b’{\n “origin”: “60.222.112.195”\n}\n’ #原IP b’{\n “origin”: “60.222.112.195, 112.95.204.217”\n}\n’ #代理IP
cookie 在网站中,对服务器的使用往往需要认证,第一次访问服务器后,服务器返回一个cookie,以确保第二次访问无需认证。cookie一般不超过4kb。 代码如下,使用cookie可以实现登录账户。 方法一:在headers加入网页的cookie信息
aji_url="http://www.renren.com/973687886/profile"
headers=({
"User-Agent":" Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36",
"Cookie": "anonymid=k6hu8cnocon7sq; 删除部分代码39c126ca7%7C1581428091545%7C1%7C1581428091771; jebecookies=6f157d36-8a56-4d80-b00e-5b56897c858e|||||; t=af9ce0986e484e427bb7eb4c8e9e3ed56; societyguester=af9ce0986e484e427bb7eb4c8e9e3ed56; xnsid=c90db889; loginfrom=null; wp_fold=0"
})
req=request.Request(url=aji_url,headers=headers)
resp=request.urlopen(req)
print(resp.read().decode("utf-8"))
方法二:
from http.cookiejar import CookieJar headers = ({ “User-Agent”: ” Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36″}) def get_opener(): # 创建一个cookiejar cookiejar = CookieJar() # 使用cookiejar创建一个HTTPCookieProcessor对象 handler = request.HTTPCookieProcessor(cookiejar) # 使用handler创建一个opener opener = request.build_opener(handler) return opener def login_renren(opener): #登录人人网
data = ({"email": "13537703610",
"password": "510548134ys"})
login_url = "http://www.renren.com/SysHome.do"
req = request.Request(url=login_url, data=parse.urlencode(data).encode("utf-8"), headers=headers)
opener.open(req)
def visit_renrne(opener): # 访问个人网页 aji_url = “http://www.renren.com/973687886/profile” req = request.Request(aji_url, headers=headers) # 使用之前新建的opener,已经有登录信息 resp = opener.open(req) with open(r”C:\python38\new project\mydi\ren.txt”, “w”, encoding=“utf-8”)as fp: fp.write(resp.read().decode(“utf-8”)) if name == ‘main’: opener=get_opener() login_renren(opener) visit_renrne(opener) cookie之保存 cookie保存到本地****可以方便再次查看 from urllib import request from http.cookiejar import MozillaCookieJar
cookiejar = MozillaCookieJar(“cookie.txt”) handler = request.HTTPCookieProcessor(cookiejar) opener = request.build_opener(handler)
resp=opener.open(“https://www.baidu.com/”) cookiejar.save()
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164738.html原文链接:https://javaforall.cn
相关文章
- Python面试基础知识_python自学需要哪些基础知识
- pycharm导入Python_python简单项目
- 哪些软件是python编写出来的_用Python编程需要什么软件?
- Python中通过PyPDF2实现PDF拆分「建议收藏」
- Python里divmod_python yield函数
- Python元组_python元组的定义方式
- 【说站】python敏感词替换
- 【说站】Python中random模块的方法整理
- Python常看函数用法,返回值类型
- python七夕表白代码(转载)_2019年倒计时日历
- 下列python语句的输出结果是print_下列 Python语句的输出结果是「建议收藏」
- 廖雪峰的 Python 教程_python基础教程廖雪pdf
- Python Tkinter Gui 运行不卡顿,多线程解决界面卡死问题
- 【测试开发】python系列教程:Python数据类型转换
- 【Python】这篇罕见的符号编程论文,让你在Jupyter Notebook中手绘草图并变成代码
- Python的yield关键字
- Python 进阶指南(编程轻松进阶):八、常见的 Python 陷阱
- python-Django-文件上传(三)
- Python导入模块的3种方式(超级详细)
- python使用pickle,marshal进行序列化、反序列及JSON的使用详解编程语言
- Linux系统如何运行Python脚本(linux执行python脚本)
- linux下升级python版本详解编程语言
- python之字典【dict】详解编程语言
- Linux源码精要:PDF详解(linux源码pdf)
- MySQL入门指南:PDF版(mysql入门pdf)
- 学习 Python 的 12 个方式
- Oracle入门:从零开始学习PDF版(oracle入门到精通pdf)
- Linux系统运维PDF全面深入的介绍了Linux系统的各种运维技巧!(linux系统运维pdf)
- 爬山算法简介和Python实现实例
- 让你的python代码更加pythonic(简练、明确、优雅)
- python实现监控linux性能及进程消耗性能的方法
- python迭代器实例简析