python爬虫

 什么是爬虫呢?

爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

更详细的文档可以参考 这里


那么下面给大家看一下我写的这个爬虫吧

# -*- coding:gb2312 -*-
import requests
import re
from urllib import parse
import os
i = 1
directory = 1
class BaiduImageSpider(object):
    def __init__(self):
        self.url = 'https://image.baidu.com/search/flip?tn=baiduimage&width=&height=&word={}'
        self.headers = {'User-Agent':'Mozilla/4.0'}

    # 获取图片
    def get_image(self,url,word):
        global i
        global directory
        #使用 requests模块得到响应对象
        res= requests.get(url,headers=self.headers)
        # 更改编码格式
        res.encoding="utf-8"
        # 得到html网页
        html=res.text
        print(html)
        #正则解析
        pattern = re.compile('"hoverURL":"(.*?)"',re.S)
        img_link_list = pattern.findall(html)
        #存储图片的url链接 
        print(img_link_list)
        

        #添加计数 
        for img_link in img_link_list:
            filename = '{}{}_{}.ico'.format(directory, word, i)
            self.save_image(img_link,filename)
            i += 1
    #下载图片
    def save_image(self,img_link,filename):
        html = requests.get(url=img_link,headers=self.headers).content
        with open(filename,'wb') as f:
            f.write(html)
        print(filename,'下载成功')

    # 入口函数 
    def run(self):
        word = input("您想要谁的照片?")
        page = input("您想要爬取多少页?")
        word_parse = parse.quote(word)
        # 创建目录,用于保存图片
        global directory
        directory = 'C:/Users/Administrator/Desktop/image/{}/'.format(word)
        # 如果目录不存在则创建,此方法常用
        if not os.path.exists(directory):
            os.makedirs(directory)
        for x in range(1,int(page)+1):
            url = self.url.format(word_parse)+"&pn="+str(((x-1)*60))
            self.get_image(url,word)
        global i
        i=1

if __name__ == '__main__':
    spider = BaiduImageSpider()
    spider.run()

6cd3daaaa0fc4cae88e6439957e981ef.png

0d0030ad16c241ef93fb2d94ec950b67.png 6d9ce58d766d47ed97cf7dbaf2f78e84.png

 393d7724058e4faa8a23aa164f042a1d.png

c102b9f23363491aaa0caaca1b33dd94.png e6e3808a47014f17ba34366207222029.png

注意,图片格式可以随意更改

每页为60张图片 

图片存储路径也可以随意更改

可以参考Python打包exe

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江河湖海 

最近手头有点紧,感谢你给我鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值