1.python爬取百度图片原图

本文详细介绍了如何使用Python进行网络爬虫,针对百度图片进行原图的抓取。通过设置请求头和解析HTML,成功获取到高清图片链接,并在Windows环境下下载保存。适合初学者了解爬虫的基本步骤和技巧。
尝试了几个网上的爬虫示例,改编了一下,可以爬取百度图片的原图,示例:Python3.6.0,Win7环境,chrome浏览器,命令行cmd需要用管理员身份运行,完整代码如下:
注意:图片下载路径,是浏览器的默认下载路径,可以自行更改


#coding=gbk
import time
from splinter import Browser
import traceback

class Crawler:
    def __init__(self):
        #url,是百度图片搜索的路径,我这里搜索的是“仙剑”
        self.url="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E4%BB%99%E5%89%91&step_word=&hs=0&pn=0&spn=0&di=148219565890&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=618397702%2C431402105&os=1428570058%2C3622471812&simid=0%2C0&adpicid=0&lpn=0&ln=1975&fr=&fmq=1514960095280_R&fm=index&ic=0&s=undefined&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Ff5.topit.me%2F5%2F83%2F1c%2F11450884282a91c835o.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp5rtp_z%26e3B4jAzdH3Ftpj4AzdH3F8c0ca9l9&gsm=0&rpstart=0&rpnum=0"


    def launch(self):
        #启动驱动程序

        browser = Browser('chrome')
        browser.driver.maximize_window()
        browser.visit(self.url)

        #range(100)是从0到100,下载100张图片
        for i in range(100):
            try:
                browser.reload()
                #timeout(30)是间隔时间,可以自己调节
                browser.driver.set_page_load_timeout(30)
                browser.driver.set_script_timeout(30)
                if browser.is_element_present_by_text('下载'):
                    browser.find_by_text('下载').first.click()
                    time.sleep(1)
                    browser.evaluate_script('$(".img-switch-btn").last().click()')
                    print(i)
                else:
                    pass
                    print('0')
            except:
                try:
                    browser.evaluate_script('$(".img-switch-btn").last().click()')
                except:
                    traceback.print_exc()
                    pass

if __name__ == '__main__':
    crawler = Crawler()
    crawler.launch()



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值