urllib库爬取拍信创意图片(post请求)json传参
urllib库爬取拍信创意图片
解决urllib库遇到Request payload传参问题
分析网页:
找到接口:
发现图片数据都是以json格式存储在这个接口里
我们在来看接口所需要的data,这里的searchQuery参数就是我们搜索的值,所以我们可以改变它,从而爬取更多类型的图片,page就是页码,size就是每页的图片数。
明确目标后,我们就可以开始写代码了
代码如下:
#url就是接口上的url
url='https://api2.paixin.com/medias/1/search?page=0&size=80'
headers={'Content-Type': 'application/json;charset=UTF-8',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
}
data={"searchQuery": "美女",
"type": "6"
}
#Request payload类型的data是为json字典形式的,所以我们只需要dupms一下就好了
data=json.dumps(data).encode('utf-8')
req=request.Request(url=url,data=data,headers=headers)
html=request.urlopen(req).read()
#我们得到是json字符串,要想变成字典形式需要loads一下
newhtml=json.loads(html.decode())
print(newhtml)
输出的内容就为:
这样我们就已经完成了80%了,接下来就是用for循环去遍历找到所有的图片链接,然后下载下来就好了。
完整代码如下:
from urllib import request
import json
def get_data(a,page,title):for i in range(0,page):url='https://api2.paixin.com/medias/1/search?page={}&size=80'.format(i)headers={'Content-Type': 'application/json;charset=UTF-8','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'}data={"searchQuery": title,"type": "6"}data=json.dumps(data).encode('utf-8')req=request.Request(url=url,data=data,headers=headers)html=request.urlopen(req).read()newhtml=json.loads(html.decode())print(newhtml)for key in newhtml['elements']:print(key['image'])baseurl='http:{}'.format(key['image'])request.urlretrieve(baseurl,'E:\\PyCharm Community Edition 2019.1.2\\dasj\\urlib库实践\\拍信创意\\{}.jpg'.format(a))a+=1print('==' * 20, '第{}页已经完毕'.format(i), '==' * 20)
if __name__ == '__main__':a=1title = input('请输入爬取标题:')page=int(input('请输入爬取页数:'))get_data(a,page,title)
新手博主,写的不好希望大家多多担待
看完的小伙伴来个一键三连吧,非常感谢
注:此文章仅供参考学习
urllib库爬取拍信创意图片(post请求)json传参相关推荐
- 基于requests库和lxml库爬取优信二手车
工具:lxml库和requests库 # _*_ coding:utf-8 _*_ import requests import re import time import MySQLdb impor ...
- 基于requests和lxml库爬取优信二手车
工具: requests库和lxml库 具体代码: # _*_ coding:utf-8 _*_ import requests import re import time import MySQLd ...
- day02 requests请求库爬取豆瓣电影信息+selenium请求库
一. requests请求库爬取豆瓣电影信息 - 请求url http://movie.douban.com/top250 - 请求方式 GET - 请求头 user-agent cookies ...
- urllib库爬取网站图片
千图网:http://www.58pic.com 首先分析网页结构: 第一页:http://www.58pic.com/haibaomoban/0/id-0.html 第二页:http://www.5 ...
- python爬动态网页json_爬虫再探实战(四)———爬取动态加载页面——请求json...
还是上次的那个网站,就是它.现在尝试用另一种办法--直接请求json文件,来获取要抓取的信息. 第一步,检查元素,看图如下: 过滤出JS文件,并找出包含要抓取信息的js文件,之后就是构造request ...
- 数据爬取——拍信网美女图片
仅作练习使用,并无商业用途 import requests import jsonheaders = {"User-Agent": "Mozilla/5.0 (Windo ...
- python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...
- python 循环定时器 timer显示数据_【Python】多线程、定时循环爬取优信二手车信息...
爬虫 爬取优信二手车:循环遍历每页,获取相应的有价值字段信息,这里不详细阐释了. 多线程 Python中,使用concurrent.futures模块下的ThreadPoolExecutor类来实现线 ...
- python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件
第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字"python",然后搜索,显示如下搜索结果 从url连接中可以得 ...
最新文章
- java中Array和ArrayList区别 可以将 ArrayList想象成一种会自动扩增容量的Array
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- javascript删除元素节点
- 基于AIO的CS聊天室
- Mavan的配置,以及与IDEA版本不一致,解决办法
- Linux学习之系统编程篇:IPC 和管道的基本概念及管道的创建
- request for KPI tile number display could not be executed for the second time
- 风变编程python助教_花30天时间,学完了风变编程Python基础语法课
- java返回两个string_java – 为什么String.intern()方法返回两个不同的结果?
- Windows集群网络配置最佳做法
- 中希尔排序例题代码_【数据结构与算法】这或许是东半球分析十大排序算法最好的一篇文章...
- CSDN、sina博客在Zoundry中登记的API URL 收藏
- Python 编写自动化工具
- 【研发管理】质量管理之约瑟夫·M.朱兰
- (转)Oracle数据库资料收藏
- 零基础一周学会PIC单片机视频教程
- html如何调图片透明度,改变图片的透明度.html
- 微信支付接口操作说明
- 2022吴恩达机器学习第二周
- 宏转录组研究成果荣登10分JHM