导航:首页 > 编程语言 > python爬虫用户登录

python爬虫用户登录

发布时间:2022-06-18 12:15:48

A. python 爬虫如何实现cnki 的自动ip登录

自己做个代理服务器。例如618爬虫代理,再指向次一级代理。或者是直接让爬虫通过http proxy的参数设置去先把一个代理。 代理池通常是租来的,或者是扫描出来的。扫描出来的往往大部分都不可用。 爬虫的实现有几百种方案。通常建议直接从SCRAPY入手。

B. python爬虫模拟登陆网站

你可以结合使用requests和selenium这两个python模块来实现半自动化模拟登录。

#-*-coding:utf-8-*-
importtime
importrequests
fromrequests.sessionsimportcookiejar_from_dict
fromseleniumimportwebdriver

LOGIN_URL='http://www.cofool.com/'

driver=webdriver.Firefox()
driver.get(LOGIN_URL)
time.sleep(30)

cookies={}
forcookieindriver.get_cookies():
cookies[cookie['name']]=cookie['value']
driver.quit()
printcookies

#cookies={}

headers={
'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64;rv:24.0)Gecko/20100101Firefox/24.0',
'Accept':'*/*',
'Connection':'keep-alive',
}
cookies=cookiejar_from_dict(cookies)

rep=requests.get('http://www2.cofool.com/stock/mainzjgp.asp',cookies=cookies,headers=headers)
printrep.text

如果解决了您的问题请采纳!

如果未解决请继续追问

C. python爬虫登录知乎后怎样爬取数据

模拟登录
很多网站,比如知乎、微博、豆瓣,都需要登录之后,才能浏览某些内容。所以想要爬取这类网站,必须先模拟登录。比较简单的方式是利用这个网站的 cookie。cookie 相当于是一个密码箱,里面储存了用户在该网站的基本信息。在一次登录之后,网站会记住你的信息,把它放到cookie里,方便下次自动登录。所以,要爬取这类网站的策略是:先进行一次手动登录,获取cookie,然后再次登录时,调用上一次登录得到的cookie,实现自动登录。
动态爬取
在爬取知乎某个问题的时候,需要将滑动鼠标滚轮到底部,以显示新的回答。静态的爬取方法无法做到这一点,可以引入selenium库来解决这一问题。selenium库模拟人浏览网站、进行操作,简单易懂。

D. python爬虫模拟登录是什么意思

有些网站需要登录后才能爬取所需要的信息,此时可以设计爬虫进行模拟登录,原理是利用浏览器cookie。

一、浏览器访问服务器的过程:
(1)浏览器(客户端)向Web服务器发出一个HTTP请求(Http request);
(2)Web服务器收到请求,发回响应信息(Http Response);
(3)浏览器解析内容呈现给用户。

二、利用Fiddler查看浏览器行为信息:

Http请求消息:

(1)起始行:包括请求方法、请求的资源、HTTP协议的版本号

这里GET请求没有消息主体,因此消息头后的空白行中没有其他数据。

(2)消息头:包含各种属性

(3)消息头结束后的空白行

(4)可选的消息体:包含数据

Http响应消息:

(1)起始行:包括HTTP协议版本,http状态码和状态

(2)消息头:包含各种属性

(3)消息体:包含数据


可以发现,信息里不仅有帐号(email)和密码(password),其实还有_xsrf(具体作用往后看)和remember_me(登录界面的“记住我”)两个值。

那么,在python爬虫中将这些信息同样发送,就可以模拟登录。

在发送的信息里出现了一个项:_xsrf,值为

这个项其实是在访问知乎登录网页https://www.hu.com/#signin时,网页发送过来的信息,在浏览器源码中可见:

所以需要先从登录网址https://www.hu.com/#signin获取这个_xsrf的值,

并连同帐号、密码等信息再POST到真正接收请求的http://www.hu.com/login/email网址。

(2)获取_xsrf的值:
爬取登录网址https://www.hu.com/#signin,从内容中获取_xsrf的值。
正则表达式。

(3)发送请求:
xsrf = 获取的_xsrf的值
data = {"email":"xxx","password":"xxx","_xsrf":xsrf}
login = s.post(loginURL, data = data, headers = headers)
loginURL:是真正POST到的网址,不一定等同于登录页面的网址;

(4)爬取登录后的网页:
response = s.get(getURL, cookies = login.cookies, headers = headers)
getURL:要爬取的登陆后的网页;
login.cookies:登陆时获取的cookie信息,存储在login中。

(5)输出内容:
print response.content

五、具体代码:

[python]view plain

E. 怎样用Python设计一个爬虫模拟登陆知乎

#!/usr/bin/envpython3
#-*-coding:utf-8-*-
'''
Required
-requests(必须)
-pillow(可选)
'''
importrequests
try:
importcookielib
except:
importhttp.cookiejarascookielib
importre
importtime
importos.path
try:
fromPILimportImage
except:
pass
#构造Requestheaders
agent='Mozilla/5.0(WindowsNT5.1;rv:33.0)Gecko/20100101Firefox/33.0'
headers={
'User-Agent':agent
}
#使用登录cookie信息
session=requests.session()
session.cookies=cookielib.LWPCookieJar(filename='cookies')
try:
session.cookies.load(ignore_discard=True)
except:
print("Cookie未能加载")
defget_xsrf():
'''_xsrf是一个动态变化的参数'''
index_url='

#获取登录时需要用到的_xsrf
index_page=session.get(index_url,headers=headers)
html=index_page.text
pattern=r'name="_xsrf"value="(.*?)"'
#这里的_xsrf返回的是一个list
_xsrf=re.findall(pattern,html)
return_xsrf[0]
#获取验证码
defget_captcha():
t=str(int(time.time()*1000))
captcha_url='

r=session.get(captcha_url,headers=headers)
withopen('captcha.jpg','wb')asf:
f.write(r.content)
f.close()
#用pillow的Image显示验证码
#如果没有安装pillow到源代码所在的目录去找到验证码然后手动输入
try:
im=Image.open('captcha.jpg')
im.show()
im.close()
except:
print(u'请到%s目录找到captcha.jpg手动输入'%os.path.abspath('captcha.jpg'))
captcha=input("pleaseinputthecaptcha >")
returncaptcha
defisLogin():
#通过查看用户个人信息来判断是否已经登录
url="

login_code=session.get(url,allow_redirects=False).status_code
ifint(x=login_code)==200:
returnTrue
else:
returnFalse
deflogin(secret,account):
#通过输入的用户名判断是否是手机号
ifre.match(r"^1d{10}$",account):
print("手机号登录 ")
post_url='

postdata={
'_xsrf':get_xsrf(),
'password':secret,
'remember_me':'true',
'phone_num':account,
}
else:
print("邮箱登录 ")
post_url='

postdata={
'_xsrf':get_xsrf(),
'password':secret,
'remember_me':'true',
'email':account,
}
try:
#不需要验证码直接登录成功
login_page=session.post(post_url,data=postdata,headers=headers)
login_code=login_page.text
print(login_page.status)
print(login_code)
except:
#需要输入验证码后才能登录成功
postdata["captcha"]=get_captcha()
login_page=session.post(post_url,data=postdata,headers=headers)
login_code=eval(login_page.text)
print(login_code['msg'])
session.cookies.save()
try:
input=raw_input
except:
pass
if__name__=='__main__':
ifisLogin():
print('您已经登录')
else:
account=input('请输入你的用户名 >')
secret=input("请输入你的密码 >")
login(secret,account)

F. python爬虫模拟登陆

用requests模块
对登录的url把用户名密码post过去就可以了啊

G. 怎样用Python设计一个爬虫模拟登陆知乎

两种方法:
1.带cookielib和urllib2
import urllib2
import urllib
import cookielib
def login():
email = raw_input("请输入用户名:")
pwd = raw_input("请输入密码:") data={"email":email,"password":pwd}
post_data=urllib.urlencode(data) cj=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))headers
={"User-agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}website =
raw_input('请输入网址:')req=urllib2.Request(website,post_data,headers)content=opener.open(req)print
content.read()
2.使用selenium
import selenium import webdriver
browser=webdriver.Firefox()
browser.get("Url")
browser.find_element_by_id(" ").sendkey("username")
browser.find_element_by_id(" ").sendkey("pass")
browser.find_element_by_id(" ").click()
其实我这个最简单了,用的python3,requests, 只需要验证一次,就会保存cookies,下次登录使用cookies登录。
第一步、打开首页获取_xref值,验证图片 第二步、输入账号密码 第三步、看是否需要验证、要则下载验证码图片,手动输入
第四步、判断是否登录成功、登录成功后获取页面值。

H. python 爬虫怎么实现登陆

抓取网页所有url的简单Python爬虫源码,只用到了一个Python标准库urllib模块

I. python爬虫的session 和cookie登录问题。

cookie是已经登录了,网站已经是登录状态模拟打开网站
session是模拟输入用户名密码登录网站

J. python爬虫需要登录怎么办

一般登录都是post用户登录信息
可以用python模拟登录并保存cookie,然后就可以抓取了

阅读全文

与python爬虫用户登录相关的资料

热点内容
30岁学编程晚吗 浏览:68
解压专家怎么打开 浏览:86
php开源留言板 浏览:49
新乡市区疫情怎么查询app 浏览:158
我的世界服务器怎么弄图 浏览:999
vc6的编译框 浏览:198
程序员写照 浏览:539
怎么退出github服务器版本 浏览:797
云服务器sip 浏览:910
对称平衡型压缩机 浏览:953
rust连接什么服务器 浏览:382
php删除数组的空元素 浏览:74
有什么古今翻译的app 浏览:54
华为平板里的app热门推荐怎么关闭 浏览:731
kindle可以看pdf吗 浏览:620
小米文件夹变小 浏览:324
为什么安卓系统不设计横屏 浏览:686
myeclipse编译文件 浏览:586
水果解压视频教程 浏览:207
单片机控制的大一点的车 浏览:640