scrapy框架在未登录模式下爬取文本,文件和图片的几点收获
1.什么是API接口?
https://baijiahao.baidu.com/s?id=1597881116201407882&wfr=spider&for=pc
2.spider文件中的self是什么?spider程序什么时候停止运行?
python中的class只是蓝图(python是行编译程序,只有当实例化时编译器才会编译class的代码),要实现功能还得实例化对象。将spider中的类实例化后,先用程序预先定义的其实网址的属性,构造request 对象传给解析函数。之后就可以靠程序自身的循环不停运行下去了(主要是yield方法)
当完全执行完或者遇到错误的时候,spider文件内的程序停止运行。(当出现问题时,查看cmd命令提示行窗口也是一个不错的排查方法)
3.python中的%s的用法是什么?(转义)
一种字符串格式化的语法, 基本用法是将值插入到%s占位符的字符串中
name
=
input
(
"Please input your name: "
)
>>>
print
(
"Hello, %s good morning!"
%
name)
>>>Please
input
your name: Xiaolizi
#输入名字Xiaolizi
>>>Hello, Xiaolizi good morning!
4.scrapy框架在爬取视频(文件同理)和图片的时候可否把观看链接作为下载链接?
完全可以!完全可以!完全可以!原视频或者原图片的观看链接就是下载链接
5.在FilePiplines和ImagePipelines的使用中,yield需要返回一个什么对象?
FilePiplines: { ' file_urls' : [ 各种url绝对地址 ] }
ImagePipelines: { ' image_urls' : [ 各种url绝对地址 ] }
6. IMAGE_STORE中可否是绝对路径?(此处仅以ImagePipelines为例)
可以。不过得将路径分隔符 “ \ ”改成“ /”
7.360图片爬取可以不采用json模块,仅是采用之前像爬取文本那样常规的模式可以吗?
不可以。随着不断往下翻页,会有新的网页源代码出现。
8.scrapy shell中也是建立的是一个 HtmlResponse对象
9.allow_domains中一定不能加http协议,正确写法:allowed_domains = [ "www.4399.com" ]
10.Item对象是直接返回给pipeline的
11.什么是utf-8?
UTF-8(8位元)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改 后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。encoding:编码
12.驼峰命名法是什么?
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如: myFirstName、myLastName
13.from PIL import Image ModuleNotFoundError: No module named 'PIL'怎么解决?
缺少pillow的包