python使用sessions模拟登录淘宝的方式


Posted in Python onAugust 16, 2019

之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到。不过这个登录后获得的网页的代码是静态的,获取动态网页还得另寻他法,一般需要的数据可以在网页的源码中得到,但是你知道的,有些动态加载的就不是那么简单了,而且我发现这样获得的源码中,有些想要获取的数据的格式是经过改动的,比如我要某个商品的具体链接,发现并不能直接使用。 总体而言,这是一次失败的尝试,不过倒是了解到使用sessionscookies可以进到需要登录的网页,也算是一种方式吧。

记录一下失败的一次

import requests
import os
import json
from pyquery import PyQuery as pq
import re
import time
sessions = requests.session()
url = 'https://s.taobao.com/search?q=ipad'
sessions.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'
sessions.headers['cookie']='miid=8428352431475518963; hng=CN***********; cna=IzulExo***************; thw=cn; __guid=15467**********; enc=Ubrfp%2******************************************************; t=5********************1e0; tracknick=%5*********3; lgc=40***3; tg=0; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; cookie2=393e1f359e39e184059e8c87422bb5ce; v=0; _tb_token_=e7e035bee1ae8; _m_h5_tk=ebb49583b4434c3ff9f4bb277236a5d2_1541089384718; _m_h5_tk_enc=b0dd87431f8ade45b56bccb4982c0bf4; alitrackid=world.taobao.com; swfstore=29789; unb=3159140427; sg=374; _l_g_=Ug%3D%3D; skt=c9446f78d9091af3; cookie1=AHt5ehB%2FBw25k99NwMwTM4z3CWVA2J%2FVUVn4V3D2TMk%3D; csg=7b6476e0; uc3=vt3=F8dByRjNVxN9vRJQjTQ%3D&id2=UNGToApZ%2B2dYHA%3D%3D&nk2=sECE1uX4Wg%3D%3D&lg2=VFC%2FuZ9ayeYq2g%3D%3D; existShop=MTU0MTA4NzI2Ng%3D%3D; _cc_=Vq8l%2BKCLiw%3D%3D; dnk=%5Cu6C38%5Cu65E0%5Cu540D3; _nk_=%5Cu6C38%5Cu65E0%5Cu540D3; cookie17=UNGToApZ%2B2dYHA%'
for i in range(1):
  strs=str(i*44)
  urls=url+'&s='+strs
  html=sessions.get(urls).text
  doc=pq(html)
  doc=str(doc)
  os.chdir(r'G:\PS\PY')
  contentss=[]
  htmls=re.compile(r'p4pTags(.*?)"risk"')   
  garbage=re.compile(r'itemlist(.*?)"risk"')
  gb=garbage.findall(doc,re.S|re.M)
  finhtml=htmls.findall(doc,re.S|re.M)
  finhtml=finhtml+gb
  print(len(finhtml))
  #提取信息的正则表达式
  raw_title=r'"raw_title":"(.*?)"'
  view_price= r'"view_price":"(.*?)"' #价格
  view_fee=r'"view_fee":"(.*?)"'   #折扣
  item_loc = r'"item_loc":"(.*?)"' #地区
  view_sales = r'"view_sales":"(.*?)"' #付款人数
  comment_count = r'"comment_count":"(.*?)"' #评论数
  detail_url=r'"detail_url":"(.*?)"'   #url    
  for html in finhtml:
    rtitle=re.findall(raw_title,html)
    price=re.findall(view_price,html)
    fee=re.findall(view_fee,html)
    loc=re.findall(item_loc,html)
    sales= re.findall(view_sales,html)
    comment=re.findall(comment_count,html)
    deurl=re.findall(detail_url,html)
    for rt,p,f,l,s,c,u in zip(rtitle,price,fee,loc,sales,comment,deurl):
      contentss.append({"raw_title":rt,"view_price":p,"view_fee":f,"item_loc":l,"view_sales":s,"comment_count":c,"detail_url":u})  
  with open('ipad.json','a',encoding='utf-8') as file:
    file.write(json.dumps(contentss,indent=2,ensure_ascii=False))
  time.sleep(2)#访问间隔

总结

以上所述是小编给大家介绍的python使用sessions模拟登录淘宝,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python生成指定长度的随机数密码
Jan 23 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
详解python eval函数的妙用
Nov 16 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
Python字典遍历操作实例小结
Mar 05 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
python实现登录密码重置简易操作代码
Aug 14 Python
详解python tcp编程
Aug 24 Python
Python 操作 MySQL数据库
Sep 18 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 #Python
Python facenet进行人脸识别测试过程解析
Aug 16 #Python
Python Web框架之Django框架Model基础详解
Aug 16 #Python
pycharm配置git(图文教程)
Aug 16 #Python
Django如何实现上传图片功能
Aug 16 #Python
Python如何调用JS文件中的函数
Aug 16 #Python
用Python批量把文件复制到另一个文件夹的实现方法
Aug 16 #Python
You might like
php 404错误页面实现代码
2009/06/22 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
深入理解PHP中的count函数
2016/05/31 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
python中字符串的编码与解码详析
2020/12/03 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
大学在校生求职信范文
2013/11/21 职场文书
运动会广播稿50字
2014/01/26 职场文书
C++程序员求职信范文
2014/04/14 职场文书
实习单位鉴定评语
2014/04/26 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
一般党员对照检查材料
2014/09/24 职场文书
教师个人成长总结
2015/02/11 职场文书
优秀员工自荐书
2015/03/06 职场文书
关于教师节的广播稿
2015/08/19 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
golang实现浏览器导出excel文件功能
2022/03/25 Golang