宝哥软件园

爬取今日头条埃阿斯请�

编辑:宝哥软件园 来源:互联网 时间:2021-08-29

网址:https://www.toutiao.com/

搜索头条

可以得到这个网址:

https://www.toutiao.com/search/?关键字=街拍

开发者工具查看:

我们在搜索中并没有发现上面的文字,那么我们可以初步判定,这个由埃阿斯加载,然后渲染出来的。此时切换到保险附约过滤,可以看到确实是创建交互式、快速动态网页应用的网页开发技术请求。

观察请求的特点,发现只有抵消是改变的,而且一次加20,

我们可以用它来控制数据分页,然后把图片下载下来。代码如下:

从urllib导入requestsimport。从hashlib解析import urlencodefrom从多道处理导入MD5。池导入Poolfrom请求导入代码get _ page(offset): params={ ' offset ' : offset,' format':'json ',' keyword': '街拍,' autoload':'true ',' count':'20 ',' cur_tab':'1 ',' from ' : ' search _ tab ' } URL=' https://www。头条。com/search _ content/?URL编码(参数)尝试:响应=请求。如果响应,获取(网址)。status _ code==200: #打印(URL)返回回应。JSON()请求除外连接错误:返回无# get _ page(0)def get _ images(JSON):如果json.get中的项为json.get('data'):如果item.get('cell_type ')不是无:继续标题=项目。get(' title ')图像=item。get(' image _ list ')对于图像:中的图像,收益率{ 'title':title,' image ' :路径分隔符//' img _ path=' img ' OS。路径。sep项目。获取('标题')如果不是操作系统。路径。存在(img _ path): OS。让dirs(img _ path)尝试: resp=请求。get(item。get(' image ')# print(type(resp))if code。ok==resp。status _ code : file _ path=img _ path OS。路径。sep ' { file _ name } .“{ file _后缀}"。格式(文件名=md5(resp.content)).hexdigest(),#md5是一种加密算法获取图片的二进制数据,以二进制形式写入文件文件_后缀='jpg ')如果不是os.path.exists(file_path):打开(文件路径‘WB’)为f :写(resp。内容)打印('下载图像路径为% s ' % file_path ')否则:打印('已下载,文件路径)请求除外ConnectionError: print('未能保存图像,项目% s“% item”def main(偏移量): JSON=get _ images(JSON)中项目的get_page(偏移量):打印(项目)保存图像(项目)GROUP=0 GROUP _ END=2if _ _ name _ _=' _ _ main _ _ ' : Pool=Pool()GROUP=([x * 20代表范围内的x(GROUP,GROUP_END)]池. map(main,GROUP)#将组一个个调出来传给主要的函数pool.close() pool.join() #保证子进程结束后再向下执行pool.join(1)等待一秒总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

更多资讯
游戏推荐
更多+