posted @ 2019-03-08 21:46 心酒 阅读(170) 评论(0) 推荐(0) 编辑
摘要:
建立好项目以后,在项目文件内scrapy会搭好框架,我们只需要按照框架设置. 先定义Item 它是保存爬取到的数据的容器,其使用方法和python的字典类似,并且提供了额外保护机制来避免拼写错误导致的未定义字段错误. 然后编写爬虫类spider, spider是用户编写用于从网站上爬取数据的类.其包 阅读全文
摘要:
创建项目时报错ModuleNotFoundError: No module named 'cryptography.hazmat.bindings._constant_time' pip install -I cryptography 使用这个命令就搞定了 阅读全文
posted @ 2019-03-08 14:16 心酒 阅读(449) 评论(0) 推荐(0) 编辑
摘要:
使用Python自带的PIP安装Scrapy需要的支持包太多了,很麻烦. 使用了Anaconda直接 conda install Scrapy.出了一堆问题 anaconda安装scrapy,使用 conda install scrapy 命令。安装完成后在命令行执行scrapy提示报错,如图: W 阅读全文
posted @ 2019-03-08 14:15 心酒 阅读(246) 评论(0) 推荐(0) 编辑
摘要:
爬虫一般在网页Post里找数据,注意大部分网页都已经反爬,会出现主要对象加密的问题,比如百度翻译就影藏了输入的内容,有道翻译进行了MD5加密,不过广大网友是给力,只要把网址里的_o去掉就又可以了 参考小甲鱼的实例,我试着爬了下百度贴吧的图片,还挺方便. import urllib.requestim 阅读全文
posted @ 2019-03-08 13:35 心酒 阅读(242) 评论(0) 推荐(0) 编辑
摘要:
举个例子: 现在很多网站都搞REST API,比如新浪微博、豆瓣啥的,调用API的URL类似: http://api.server/user/friends http://api.server/user/timeline/list 如果要写SDK,给每个URL对应的API都写一个方法,那得累死,而且 阅读全文
posted @ 2019-03-05 22:43 心酒 阅读(210) 评论(0) 推荐(0) 编辑
摘要:
__getitem__ 实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,要表现得像list那样按照下标取出元素,需要实现__getitem__()方法 __getattr__ 正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。要避免这个错误,除了 阅读全文
posted @ 2019-03-05 22:40 心酒 阅读(168) 评论(0) 推荐(0) 编辑
摘要:
__slots__ 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性. __str__ 用这个命令定义方法,可以返回想要的字符串,但是容易看到实例内部重要的数据, 直接显示变量调用的不是__str__(),而是__r 阅读全文
posted @ 2019-03-05 22:09 心酒 阅读(227) 评论(0) 推荐(0) 编辑
摘要:
在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性。 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。 先定义 阅读全文
posted @ 2019-03-05 15:48 心酒 阅读(199) 评论(0) 推荐(0) 编辑