鱼C论坛

 找回密码
 立即注册
查看: 2277|回复: 14

[已解决]爬取需要账号和密码的网站问题

[复制链接]
发表于 2020-9-17 17:41:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 城中城 于 2020-9-17 17:51 编辑

如果我登淘宝的话,怎么通过代码里添加账号和密码来获取cookies的值呢?

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4209.400'}
cookies = {'cookie': '你的cookie'}
url = 'https://list.tmall.com/search_product.htm?q=书包&s=60'
r = requests.get(url, cookies = cookies, headers = headers)
print(r.text)


以上代码是已经找到cookies才能访问淘宝的,
我想知道怎么在代码里输入账号和密码来获取cookies呢?
不要手动登入网站,检索来查看
最佳答案
2020-9-17 19:01:23
城中城 发表于 2020-9-17 18:43
我问的是 零基础入门学习Python 第54讲有完整代码清单

这个是怎么实现没cookies情况下, 只是通过账 ...

淘宝反扒有点严重,不好破。爬虫时效性很低,要自己重新抓包。
Request URL: https://accounts.douban.com/j/mobile/login/basic
ck: 
name: 
password: 
remember: false
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-17 17:50:37 | 显示全部楼层
你上个帖子里,不是已经回复过了么,用selenium先登陆,再获取cookie或者page_source
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 18:32:41 | 显示全部楼层
疾风怪盗 发表于 2020-9-17 17:50
你上个帖子里,不是已经回复过了么,用selenium先登陆,再获取cookie或者page_source

不得不说
selenium环境的也搭配好了,是能实现, 就是模拟用户操作的

我是从小甲鱼的视频看来的,想知道他是怎么转换的
零基础入门学习Python 第54讲
虽然是以前的视频了,不能再实现了

但是我就是想知道requests来进行转换的
data = {}
data['form_email'] = '你的账号'
data['form_password'] = '你的密码'
data['source'] = 'index_nav'

response = opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))

#验证成功跳转至登录页
if response.geturl() == "https://www.douban.com/accounts/login":
    html = response.read().decode()

他就通过这个实现了
就是想知道request这个怎么实现类似小甲鱼的操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 18:34:02 | 显示全部楼层
cookies属于浏览器的请求头字段,请求的时候,携带上相对的cookie即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 18:38:19 | 显示全部楼层
Stubborn 发表于 2020-9-17 18:34
cookies属于浏览器的请求头字段,请求的时候,携带上相对的cookie即可。


就是想知道比如进入https://list.tmall.com/search_product.htm?q=书包&s=60
就是淘宝搜索书包的第二页
需要淘宝的账号和密码
怎么通过提前输入账号和密码来通过代码获取cookies呢

已知 淘宝账号和密码
求 cookies

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 18:40:37 | 显示全部楼层
城中城 发表于 2020-9-17 18:38
就是想知道比如进入https://list.tmall.com/search_product.htm?q=书包&s=60
就是淘宝搜索书包的第二页
...

浏览器登录,复制登录后的cookie信息呢。
你问的是模拟登录?还是cookie问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 18:43:05 | 显示全部楼层
本帖最后由 城中城 于 2020-9-17 18:46 编辑
Stubborn 发表于 2020-9-17 18:40
浏览器登录,复制登录后的cookie信息呢。
你问的是模拟登录?还是cookie问题?


我问的是 零基础入门学习Python 第54讲有完整代码清单
data = {}
data['form_email'] = '你的账号'
data['form_password'] = '你的密码'
data['source'] = 'index_nav'

response = opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))

#验证成功跳转至登录页
if response.geturl() == "https://www.douban.com/accounts/login":
    html = response.read().decode()
这个是怎么实现没cookies情况下, 只是通过账号和密码登入豆瓣的

因为现在实现不了这段代码,所以看不懂代码是怎么实现的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 19:01:23 | 显示全部楼层    本楼为最佳答案   
城中城 发表于 2020-9-17 18:43
我问的是 零基础入门学习Python 第54讲有完整代码清单

这个是怎么实现没cookies情况下, 只是通过账 ...

淘宝反扒有点严重,不好破。爬虫时效性很低,要自己重新抓包。
Request URL: https://accounts.douban.com/j/mobile/login/basic
ck: 
name: 
password: 
remember: false
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 19:07:41 | 显示全部楼层
Stubborn 发表于 2020-9-17 19:01
淘宝反扒有点严重,不好破。爬虫时效性很低,要自己重新抓包。

牛逼  你是怎么获得的这个网站
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 19:08:52 | 显示全部楼层
城中城 发表于 2020-9-17 19:07
牛逼  你是怎么获得的这个网站

浏览器抓包呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 19:11:17 | 显示全部楼层

怎么抓的有教程网站吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 19:15:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-17 19:18:40 | 显示全部楼层
你只是要8楼回复的那个网址和数据标签的话,很简单
找到登陆界面,随便输入,然后尝试登陆一下,在网络界面就会出现网址和传输的数据
屏幕截图 2020-09-17 191638.png
屏幕截图 2020-09-17 191616.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-17 21:17:20 | 显示全部楼层
感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-9-17 22:12:26 | 显示全部楼层
本帖最后由 城中城 于 2020-9-17 22:14 编辑


import requests
url = 'https://accounts.douban.com/j/mobile/login/basic'

data = {}
data['ck'] = 'ge4y'
data['name'] = '豆瓣账号'
data['password'] = '豆瓣密码'
data['remember'] = 'false'

header = {}
header['Accept'] = 'application/json'
header['Content-Type'] = 'application/x-www-form-urlencoded'
header['Referer'] = 'https://accounts.douban.com/passport/login'
header['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400'
header['X-Requested-With'] = 'XMLHttpRequest'

res = requests.post(url, data = data, headers = header)

url = 'https://www.douban.com/'
res = requests.get(url, cookies = res.cookies, headers = header)
print(res.text)

了却了我一个心结,虽然不用直接抓cookies,但是抓取了很多其他的东西,个人感觉如果给自己用的话    还不如抓cookies来得方便
以上图为证  也感谢上面俩大佬的教导
QQ浏览器截图20200917220537.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 16:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表