爬取需要账号和密码的网站问题
本帖最后由 城中城 于 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呢?
不要手动登入网站,检索来查看 你上个帖子里,不是已经回复过了么,用selenium先登陆,再获取cookie或者page_source
疾风怪盗 发表于 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这个怎么实现类似小甲鱼的操作
cookies属于浏览器的请求头字段,请求的时候,携带上相对的cookie即可。 Stubborn 发表于 2020-9-17 18:34
cookies属于浏览器的请求头字段,请求的时候,携带上相对的cookie即可。
就是想知道比如进入https://list.tmall.com/search_product.htm?q=书包&s=60
就是淘宝搜索书包的第二页
需要淘宝的账号和密码
怎么通过提前输入账号和密码来通过代码获取cookies呢
已知 淘宝账号和密码
求 cookies
城中城 发表于 2020-9-17 18:38
就是想知道比如进入https://list.tmall.com/search_product.htm?q=书包&s=60
就是淘宝搜索书包的第二页
...
浏览器登录,复制登录后的cookie信息呢。
你问的是模拟登录?还是cookie问题? 本帖最后由 城中城 于 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情况下, 只是通过账号和密码登入豆瓣的
因为现在实现不了这段代码,所以看不懂代码是怎么实现的 城中城 发表于 2020-9-17 18:43
我问的是 零基础入门学习Python 第54讲有完整代码清单
这个是怎么实现没cookies情况下, 只是通过账 ...
淘宝反扒有点严重,不好破。爬虫时效性很低,要自己重新抓包。
Request URL: https://accounts.douban.com/j/mobile/login/basic
ck:
name:
password:
remember: false
Stubborn 发表于 2020-9-17 19:01
淘宝反扒有点严重,不好破。爬虫时效性很低,要自己重新抓包。
牛逼你是怎么获得的这个网站 城中城 发表于 2020-9-17 19:07
牛逼你是怎么获得的这个网站
浏览器抓包呀 Stubborn 发表于 2020-9-17 19:08
浏览器抓包呀
怎么抓的有教程网站吗?
城中城 发表于 2020-9-17 19:11
怎么抓的有教程网站吗?
https://www.jianshu.com/p/b75722457062 你只是要8楼回复的那个网址和数据标签的话,很简单
找到登陆界面,随便输入,然后尝试登陆一下,在网络界面就会出现网址和传输的数据 感谢{:5_108:} 本帖最后由 城中城 于 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来得方便
以上图为证也感谢上面俩大佬的教导
页:
[1]