爬虫python入门_python之路pdf

爬虫python入门_python之路pdfProxyHandler代理器在写爬虫时常常需要做代理IP以反爬虫常用IP有:西刺免费代理:xicidaili.com/nt/快代理:http://kuaidaili.com/代理云:http://dailiyun.com/查看代理的IP:http://www.httpbin.org/ip网站:http://www.httpbin.org/可查看http的一些参数。#检查当前ip…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ProxyHandler代理器
在写爬虫时常常需要做代理IP以反爬虫
常用IP有:
西刺免费代理:xicidaili.com/nt/
快代理:http://kuaidaili.com/
代理云:http://dailiyun.com/
在这里插入图片描述查看代理的IPhttp://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()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164738.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm连接mysql数据库代码_myeclipse连接数据库

    pycharm连接mysql数据库代码_myeclipse连接数据库PyCharm是一款常用的Python开发的软件,这里给大家介绍一下如何在PyCharm如何连接MySQL数据库。首先,我们需要找到页面中的DataBase窗口,一般在页面的右侧,没有显示的话,可以点击View->ToolWindows->DataBase。然后显示DataBase之后,我们点击DataBase。然后我们点击DataBase的这个+号。然后选择DataSource->MySQL。然后就显示到连接的页面,如果是第一次连接的时候,就需要点击下面的D

  • bwapp详细教程_bwapp之sql注入

    bwapp详细教程_bwapp之sql注入**HTMLInjection-Reflected(GET)**low:低级漏洞中,输入数据没有做校验Firstname:<script>alert(‘xss’)</script>Lastname:<script>alert(‘xss’)</script>出现xss即为成功。medium和low一样,但发现被全部显示抓包,会发现符号<>均被编码0,1,2分别对应三个等级找见对应的/bWAPP/bw

  • pycharm2021.3.2激活码【2021.8最新】

    (pycharm2021.3.2激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • Eclipse改成中文版本「建议收藏」

    Eclipse版本:Neon参考链接:http://www.eclipse.org/babel/downloads.php如果安装完成后,同时保留英文,只需要在快捷方式后添加图片中内容:网页上的详细信息:InstallingthelanguagepacksOpentheinstallwizardwith’Help’>’

  • vue中父组件向子组件传值

    vue中父组件向子组件传值首先在以下案例中,App.vue是父组件,Second-module.vue是子组件。总体来说,父传子就是这四个步骤:父组件的data中定义值,引入并调用子组件,在引用的子组件的标签上通过v-bind指令给子组件传值,子组件通过在data中定义的props属性接收父组件传过来的值然后应用到子组件里。首先,值肯定是定义在父组件中的,供所有子组件共享,所以要在父组件的data中定义值:…

  • 运算放大器 之 概述

    运算放大器 之 概述转载来源:[维基百科]《运算放大器》运算放大器(英语:OperationalAmplifier,简称OP、OPA、op-amp、运放)是一种直流耦合,差模(差动模式)输入、通常为单端输出(Differential-in,single-endedoutput)的高增益(gain)电压放大器。在这种配置下,运算放大器能产生一个比输入端电势差大数十万倍的输出电势(对地而言)。因为…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号