python百度关键词爬虫_Python爬虫:通过关键字爬取百度图片

使用工具:Python2.7 点我下载

scrapy框架

sublime text3

一。搭建python(Windows版本)

1.安装python2.7 ---然后在cmd当中输入python,界面如下则安装成功

1082706-20170209095607572-814201445.png

2.集成Scrapy框架----输入命令行:pip install Scrapy

1082706-20170209102448401-1653922353.png

安装成功界面如下:

1082706-20170209103322166-1593606576.png

失败的情况很多,举例一种:

0?wx_fmt=png

1082706-20170209103238994-1817803527.png

解决方案:

1082706-20170209103251822-1894065608.png

0?wx_fmt=png

其余错误可百度搜索。

二。开始编程。

爬取无反爬虫措施的静态网站。例如百度贴吧,豆瓣读书。

例如-《桌面吧》的一个帖子https://tieba.baidu.com/p/2460150866?red_tag=3569129009

python代码如下:

1082706-20170209102403901-3798278.png

代码注释:引入了两个模块urllib,re。定义两个函数,第一个函数是获取整个目标网页数据,第二个函数是在目标网页中获取目标图片,遍历网页,并且给获取的图片按照0开始排序。

注:re模块知识点:

0?wx_fmt=png

1082706-20170209102426463-882822316.png

爬取图片效果图:

1082706-20170209103150947-1141061650.png

图片保存路径默认在建立的.py同目录文件下。

2.爬取有反爬虫措施的百度图片。如百度图片等。

例如关键字搜索“表情包”https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gbk&word=%B1%ED%C7%E9%B0%FC&fr=ala&ori_query=%E8%A1%A8%E6%83%85%E5%8C%85&ala=0&alatpl=sp&pos=0&hs=2&xthttps=111111

图片采用滚动式加载,先爬取最优先的30张。

代码如下:

1082706-20170209094416572-221781981.png

0?wx_fmt=png

代码注释:导入4个模块,os模块用于指定保存路径。前两个函数同上。第三个函数使用了if语句,并tryException异常。

爬取过程如下:

1082706-20170209095517369-256359189.png

0?wx_fmt=png

爬取结果:

1082706-20170209095517713-977031159.png

注:编写python代码注重对齐,and不能混用Tab和空格,易报错。

copyriht by WC-cong

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python爬取百度图片并保存的示例代码: ```python # 导入依赖库 import requests import re import os # 设置搜索关键字 keyword = "美食" # 设置图片保存路径 save_path = "./images/" # 构造百度图片搜索的URL url = "https://image.baidu.com/search/index?tn=baiduimage&word={}".format(keyword) # 发送HTTP请求并获取响应 response = requests.get(url) # 使用正则表达式从响应内容中提取图片URL列表 img_urls = re.findall('"objURL":"(.*?)",', response.text, re.S) # 遍历图片URL列表并下载保存图片 for i, img_url in enumerate(img_urls): try: # 发送HTTP请求并获取响应 response = requests.get(img_url, timeout=10) # 设置图片保存路径 img_path = os.path.join(save_path, "{}.jpg".format(i)) # 保存图片 with open(img_path, "wb") as f: f.write(response.content) print("成功下载第{:>3d}张图片!".format(i+1)) except Exception as e: print("下载第{:>3d}张图片失败:{}".format(i+1, e)) ``` 解释一下上述代码的主要步骤: 1. 设置搜索关键字图片保存路径 2. 构造百度图片搜索的URL 3. 发送HTTP请求并获取响应 4. 使用正则表达式从响应内容中提取图片URL列表 5. 遍历图片URL列表并下载保存图片 需要注意的是,这种方式只是简单的使用正则表达式从响应内容中提取图片URL,而没有使用任何API,因此可能存在一些不稳定性和容易被反爬虫机制封禁的风险。建议在使用时注意合理使用代理、设置请求头等防反爬措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值