6.4分析Ajax爬取今日头条街拍美图
时间戳问题:
这里有个timestamp,是url中的参数之一,与参数offset相同,二者不同于其他固定的参数,他们是随着翻页值会进行改变的。
参考链接:https://www.cnblogs.com/fangbei/p/python-time.html
此处的时间戳为毫秒级时间戳,所以相应代码为:
timestamp = int(round(time.time() * 1000))
requests.exceptions.MissingSchema错误
程序报错如下:
requests.exceptions.MissingSchema: Invalid URL ‘//p3-tt.byteimg.com/list/300x196/2a1ed0008bbfbfc9f6bae’: No schema supplied. Perhaps you meant http:p3-tt.byteimg.com/list/300x196/2a1ed0008bbfbfc9f6bae?
解决方案参考:https://www.cnblogs.com/zengsf/p/9737559.html
报错代码为:
response = requests.get(item.get('image'))
更改后的代码为:
response = requests.get('http:' + item.get('image'))
命名问题
程序报错如下:
OSError: [Errno 22] 文件名、目录名或卷标语法不正确。
原因:
windows下文件的命名存在限制:在Windows系统中,文件名不允许使用的字符有: < > / \ | : " * ?
在Windows系统中,文件名命名规则如下:
1)文件名最长可以使用255个字符;
2)可以使用扩展名,扩展名用来表示文件类型,也可以使用多间隔符的扩展名(如win.ini.txt是一个合法的文件名,但其文件类型由最后一个扩展名决定);
3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态):< > / \ | : " * ?;
4)windows系统对文件名中字母的大小写在显示时有不同,但在使用时不区分大小写。
解决方案:
直接将这些不允许使用的字符替换成了空格。
Python多进程库multiprocessing中进程池Pool类的使用
详细介绍参考:
https://blog.csdn.net/jinping_shi/article/details/52433867
https://blog.csdn.net/zhuzuwei/article/details/80907079