百度图片用Python怎么抓取

本文教你如何通过Python自动化工具快速搜索并下载指定关键字的百度图片,包括设置搜索词、解析翻页链接、使用正则表达式抓取图片链接,实现批量下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人在网上冲浪的时候看到好看的图片都想保存下来,那么怎么样更高效的完成这一步骤呢?

  • 输入想要抓取的图片的关键字, 如"猫"、“美女"等, 然后输出百度图片搜索"猫”、"美女"的所有图片
  • 采用翻页模式进行爬取
  • http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1497491098685_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&ctd=1497491098685%5E00_1519X735&word=“keyword”

    精简一下该网址,其实就是↓
    https://image.baidu.com/search/flip?tn=baiduimage&word=“keyword”
     

 

 图片是以翻页的形式展现的. 其次, 搜索词"keyword"即为网址最后的word的值. 所以, 如果你想搜什么, 就把"word=“后面的keyword改成对应的词即可, 如"猫”

 

 

 然后看看这个网址是不是和我们之前设想的一样(即keyword=猫).
复制过来一看
http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1582615702295_R&pv=&ic=0&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=0&height=0&face=0&istype=2&ie=utf-8&ctd=1582615702296%5E00_1665X948&sid=&word=%E7%8C%AB
原来, 还需要一顿操作:

>>>from urllib.parse import quote
>>>keyword="猫"
>>>keyword=quote(keyword)
>>>keyword
'%E7%8C%AB'

 

 图片的网址都是这样的格式: "objURL":"网址", 那就好办了, 直接用正则表达式就能解决

import re
pattern_pic = '"objURL":"(.*?)",'
# 这里的html就是网页的源代码的内容, 此处不介绍, 稍后给出
pic_list = re.findall(pattern_pic, html, re.S)  # 存储当前页的所有图片的url的列表

上面已经根据当前页的url得到了当前页的所有图片的链接, 以及下一页的url.
如此, 循环下去, 即可得到每一页的所有图片的链接.

all_pic_list = []  # 存储所有翻页的所有图片的链接的列表
while 1:
	all_pic_list.extend(pic_list)
	if 循环完所有翻页:
		break

进下面链接,学习更多python小技巧。

https://note.youdao.com/s/bfdk7lCG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值