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的web框架中编写创建日志的程序的教程
Apr 30 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
使用python脚本实现查询火车票工具
Jul 19 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
Django异步任务线程池实现原理
Dec 17 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
Python可以用来做什么
Nov 23 Python
想学画画?python满足你!
Dec 24 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 02 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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变量可用字符
2014/05/28 PHP
PHP错误机制知识汇总
2016/03/24 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python实现跨文件全局变量的方法
2014/07/07 Python
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python变量访问权限控制详解
2019/06/29 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
python新手学习可变和不可变对象
2020/06/11 Python
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
打架检讨书400字
2014/01/17 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
甲午风云观后感
2015/06/02 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书