在用scrapy设置cookie的时候,需要从网页上对应的页面把cookie字段复制下来,并转化为字典的形式,下面代码是对cookie的转化过程 # -*- coding: utf-8 -*- class transCookie(object): def __init__(self, cookie): self.cookie = cookie def stringToDict(self): itemDict = {} items = self.cookie.split(';') for item…
Python中的列表推导式一般是大家所熟悉的,可以极大的简洁代码:而Python中的字典推导式和列表推导式也是大同小异的 cookie: PHPSESSID=et4a33og7nbftv60j3v9m86cro; Hm_lvt_51e3cc975b346e7705d8c255164036b3=1561553685; Hm_lpvt_51e3cc975b346e7705d8c255164036b3=1561553685 首先分析一下浏览器中cookie的结构 基本上是:key=value; key…
虽然元组.列表不可以直接转化为字典,但下面的确是可行的,因为经常用python从数据库中读出的是元组形式的数据. # 原始数据 rows = (('apollo', 'male', '164.jpeg'), ('apollo', 'male', '')) # 表头 names = 'username gender pic'.split() # URL公共部分 fs_url = 'http://www.baidu.com/' # 新数据列表 L = [] for e in rows: L1 = l…
1.有时候使用设计模式,例如工厂方法模式,函数传的参数还需要一一根据条件传递到各个类里面去实例化或者其他原因,直接复制所有的参数看起来不太好,造成很多相同的行. 2.直接函数/方法中写**kwargs,那就不需要转化了,但写代码要抵制这样的写法,这样造成补全困难和使调用者不知道需要传递什么参数,必须去深入跳转到代码中去才知道需要传递什么东西.最明显的是,requests库的get post函数了,用了*args,**kwargs造成很多小伙伴不知道到底要传些什么参数到函数中,或者知道要传递什么参…
有一个需求,需要用python把json字符串转化为字典 inp_str = " {'k1':123, 'k2': '345','k3','ares'} " import json inp_str = " {'k1':123, 'k2': '345','k3','ares'} " print json.loads(a) 死活出不来结果,还报错,没搞明白. 最后,直接复制网上的代码,OK,运行成功,可是把我的inp_srt变量填进去,不行,报错:开始对比两个变量有什么…
scrapy入门 四步: 1. 创建一个新的Scrapy Project 2. 定义你需要从网页中提取的元素Item 3. 实现一个Spider类,通过接口完成爬取URL和提取Item的功能 4. 实现一个Item PipeLine类,完成Item的存储功能 新建工程 首先,为我们的爬虫新建一个工程,首先进入一个目录(任意一个我们用来保存代码的目录),执行: scrapy startproject huawei_scrapy 最后的huawei_scrapy就是项目名称.这个命令会在当前目录下创…
天气提醒邮件服务器(python + scrapy + yagmail) 项目地址: https://gitee.com/jerry323/weatherReporter 前段时间因为xxx上班有时候忘记带伞,就写了这个通过发送邮件提醒天气的东西.其实目前还是有点小问题,暂时也还没花精力来维护(够用就行).项目不涉及到数据库的东西,就是简单的爬虫+邮件服务器,代码拙劣. 下面讲讲大概的想法吧. 在阿里云租了一台服务器不知道该怎么使用比较好,便慢慢产生了做一个天气提醒服务的想法.本来希望使用短信提…
环境:Python3.6 + Scrapy1.4 我要实现的东西:1. 完成模拟登陆         2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中         3. 再次使用时从本地的cookie.txt中读取cookie,省略模拟登陆. 看了一些关于Scrapy操作cookie的博客,写的大同小异(都不好使...).我总结一下我尝试出来的关于cookie的提取和传递的操作,亲测可用 Cookie的传递和提取 from scrapy.http.cookies…
模拟登录是爬取某些站点内容的一个关键,有些网站(特别是论坛类),不登录的话,一个数据也拿不到. 模拟登录有这样几个关键: 弄清楚登录的url一些网站打开出现登录的页面,地址栏大多数不是登录提交表单的url. 提交登录表单的字段登录页面的url和登录表彰的字段名获取的方式有两种:1) 分析页面源代码,找到表单标签及属性.适应比较简单的页面,或者对网页代码,js非常熟悉.2) 采用抓包工具,查看提交的url和参数,如Chrome的开发者工具中的Network, Fiddler等.这种方式简单粗暴.快…
python 变量.列表.元组.字典 1.python 变量赋值 2.ptython  列表 3.python 元组 4.python  字典 1.  Python变量赋值     1.1变量的命名规则 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名 [ 'assert','and', 'as', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'ex…