https://scrapingclub.com/exercise/detail_sign/
def parse(self, response):
# pattern1 = re.compile('token=(.*?);')
# token = pattern1.findall(response.headers.getlist("set-cookie")[1].decode("utf-8"))[0] pattern2 = re.compile('token=(.*?);')
token = pattern2.findall(response.headers.getlist("set-cookie")[1].decode("utf-8"))[0]
token_md5= token.encode("utf-8")
sign= hashlib.md5(token_md5).hexdigest()
cookie = {
'token': token,
}
url='https://scrapingclub.com/exercise/ajaxdetail_sign/?sign='+sign
yield scrapy.Request(url= url,cookies=cookie,headers=header,callback=self.parse_json)
关键在于把token转成MD5
def get_md(url):
m = hashlib.md5()
m.update(url)
return m.hexdigest()
copy from: https://www.jianshu.com/p/271b20f7574f
用到了其中的两句,不知道为什么要update,其中就像原作者说的,不能直接hashlib.md5(str)必须是byte,需要转码一次
https://scrapingclub.com/exercise/detail_sign/的更多相关文章
- https://scrapingclub.com/exercise/basic_captcha/
def parse(self, response): # set_cookies = response.headers.getlist("set-cookie").decode(& ...
- https://scrapingclub.com/exercise/basic_login/
遇到的问题:csrftoken cfduid 是在request.headers里面的,一直在找怎么在scrapy里get request.header,从scrapy shell ,then fet ...
- https://scrapingclub.com/exercise/detail_cookie/
def parse(self, response): pattern=re.compile('token=(.*?);') token=pattern.findall( response.header ...
- materials
http://interactivepython.org/runestone/static/pythonds/index.html https://blog.michaelyin.info/scrap ...
- Pycharm学习python路
import 模块之后是灰色的表明没有被引用过 lxml找不到的话用anaconda prompt :pip uninstall lxml 重新安装 用request时,写的reg无法正确解析网页,先 ...
- MIT 6.828 JOS学习笔记5. Exercise 1.3
Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...
- MIT 6.828 JOS学习笔记3. Exercise 1.2
这篇博文是对Lab 1中的Exercise 2的解答~ Lab 1 Exercise 2: 使用GDB的'si'命令,去追踪ROM BIOS几条指令,并且试图去猜测,它是在做什么.但是不需要把每个细节 ...
- (14)Why some people find exercise harder than others
https://www.ted.com/talks/emily_balcetis_why_some_people_find_exercise_harder_than_others/transcript ...
- 【原】Coursera—Andrew Ng机器学习—编程作业 Programming Exercise 4—反向传播神经网络
课程笔记 Coursera—Andrew Ng机器学习—课程笔记 Lecture 9_Neural Networks learning 作业说明 Exercise 4,Week 5,实现反向传播 ba ...
随机推荐
- Linux使用命令修改默认启动为图形或字符界面
因为要在Linux系统上装NVIDIA显卡驱动,默认重启必须是字符界面,因此把这块所需命令记录下来. 1,先查看当前系统默认启动的界面 systemctl get-default 2,修改默认启动界面 ...
- Linux 环境变量_006
***Linux 环境变量指系统运行程序或命令的能快速找到其位置等其它功能,不用输入复杂命令.以$PATH环境变量为例子, $PATH决定了shell指定寻找命令或程序的路径,比较执行ls命令,如果没 ...
- puppet(5)-master/agent模式
master/agent模式的工作流程 agent每隔固定时长会向master端发送nodename(自己的节点名,节点名至关重要)和 facts ,并且向服务器端请求自己的catalog. mast ...
- sql脚本练习
多写sql语句,才能对数据库操作更加熟练. create database springbootdemo; use springbootdemo; create table user; // 这个脚本 ...
- Python中的test测试
不知道怎么回事,打开的工程中出现了pytest,难道是检测到了我的命名中有test吗? 参考博文:https://blog.csdn.net/weixin_41605937/article/detai ...
- php数组合并方法array_merge + 排序array_multisort方法 array_unique数组去重 array_values数组索引值重新从0开始递增
$dingdan = array_merge($jie_dingdan,$user_dingdan);//数组合并方法 $orderFile = array(); foreach($dingdan a ...
- python学习之旅(四)
Python基础知识(3):基本数据类型之数字 一.基本数据类型 数字Number.字符串String.列表List.元组Tuple.集合Set.字典Dictionary 二.数字 Python3支持 ...
- maven 配置篇 之 settings.xml
maven2 比起maven1 来说,需要配置的文件少多了,主要集中在pom.xml和settings.xml中. 先来说说settings.xml,settings.xml对于maven来说相 ...
- Java 将word转为pdf jacob方式
package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jac ...
- String类,ThreadLocal
1,StringBuffer修改缓冲区的方法是同步的 单任务使用StringBuilder更有效 2,replace和replaceAll方法区别 3,spilt方法 a,b,c ...