360图片搜索爬虫

360图片搜索爬虫

  • 下面是一个360的图片搜索爬虫配置好下载目录,以及搜索关键词和搜索组数(一组1500左右)
import re
import requests
import json
import os

# 路径
BASE_URL = 'F:\python2'
# 查询名字
NAME = '哈欠'

class PictureDownload(object):
    def __init__(self, q=None, sn=100):
        self.url = 'https://m.image.so.com/j?q={}&src=srp&pn=100&sn={}&kn=0&gn=0&cn=0'
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
        }
        self.q = q
        self.sn = sn
        self.num = 0
        self.total = 2
    
    def makedir(self):
        if not os.path.exists(os.path.join(BASE_URL, self.q)):
            os.makedirs(os.path.join(BASE_URL, self.q))

    def parse_url(self):
        response = requests.get(self.url.format(self.q, self.num), headers=self.headers)
        return response.content.decode()

    def parse_image_list(self, html_json_str):
        image_list = json.loads(html_json_str)['list']
        total = json.loads(html_json_str)['total']
        return image_list, total

    def save_image(self, image_list):

        for item in image_list:
            response = requests.get(item['thumb'], headers=self.headers)
            with open(os.path.join(BASE_URL, '%s\%s.jpg' % (self.q, item['index'])), 'wb') as f:
                f.write(response.content)

    def run(self):
        self.makedir()
        while self.num < self.total:
            html_json_str = self.parse_url()
            image_list, self.total = self.parse_image_list(html_json_str)
            self.save_image(image_list)
            self.num += 100
            print(self.num)




if __name__ == '__main__':
    xxx = PictureDownload(NAME)
    xxx.run()

Python爬取360图片通常会涉及使用网络请求库如requests和解析HTML的BeautifulSoup库。以下是一个简单的步骤概述: 1. **安装依赖库**: 首先需要安装`requests`、`beautifulsoup4`和可能需要处理JSON数据的`json`库。可以使用pip进行安装: ``` pip install requests beautifulsoup4 json ``` 2. **获取网页源码**: 使用requests.get()函数发送HTTP请求到360图片的URL,并获取响应内容: ```python import requests url = "https://www.360img.com/search/" # 这里填写实际搜索关键词对应的链接 response = requests.get(url) page_content = response.text ``` 3. **解析HTML**: 然后使用BeautifulSoup解析HTML内容,找到包含图片链接的部分。例如,可能会查找`<img>`标签并提取src属性: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(page_content, 'html.parser') img_tags = soup.find_all('img', src=True) ``` 4. **提取图片链接**: 对于每个找到的`<img>`标签,提取出src属性作为图片链接: ```python image_links = [img['src'] for img in img_tags] ``` 5. **保存图片**: 最后,可以使用`requests`下载图片并存储到本地: ```python import os for link in image_links: response = requests.get(link) filename = os.path.join(os.getcwd(), 'images', os.path.basename(link)) with open(filename, 'wb') as f: f.write(response.content) ``` 注意:在实际操作时,你需要遵守网站的robots.txt规则以及可能存在的反爬机制。同时,频繁的抓取可能会导致IP被封禁,所以建议设置合理的延迟和使用代理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值