从0开始学爬虫11之使用requests库下载图片

# coding=utf-8
import requests

def download_imgage():
    ‘‘‘
    demo: 下载图片
    ‘‘‘
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}
    url = "https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1563595148&di=1239a9121c930e1ab892faa7cd0b8f8a&src=http://m.360buyimg.com/pop/jfs/t23434/230/1763906670/10667/55866a07/5b697898N78cd1466.jpg"
    response = requests.get(url,headers=headers, stream=True)
    with open(‘demo.jpg‘, ‘wb‘) as fd:
        for chunk in response.iter_content(128):
            fd.write(chunk)

    print response.content

def download_image_improved():
    # 伪造headers信息
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}
    # 限定url
    url = "https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1563595148&di=1239a9121c930e1ab892faa7cd0b8f8a&src=http://m.360buyimg.com/pop/jfs/t23434/230/1763906670/10667/55866a07/5b697898N78cd1466.jpg"
    response = requests.get(url, headers=headers, stream=True)
    # contextlib 管理上下文信息
    from contextlib import closing
    # 可以关闭文件流
    with closing(requests.get(url, headers=headers, stream=True)) as response:
        # 打开文件
        with open(‘demo1.jpg‘, ‘wb‘) as fd:
            # 每128字节写入一次
            for chunk in response.iter_content(128):
                fd.write(chunk)

if __name__ == ‘__main__‘:
    # download_imgage()
    download_image_improved()

原文地址:https://www.cnblogs.com/reblue520/p/11230883.html

时间: 2024-07-31 17:37:38

从0开始学爬虫11之使用requests库下载图片的相关文章

从0开始学爬虫12之使用requests库基本认证

此处我们使用github的token进行简单测试验证 # coding=utf-8 import requests BASE_URL = "https://api.github.com" def construct_url(endpoint): return '/'.join([BASE_URL, endpoint]) def basic_auth(): ''' 基本认证 :return: ''' response = requests.get(construct_url('user'

java如果模拟请求重启路由器(网络爬虫常用),还有java如何下载图片

我们如果在公司或家里使用网络爬虫去抓取自己索要的一些数据的时候,常常对方的网站有defence机制,会给你的http请求返回500错误,只要是相同IP就请求不到数据,这时候我们只能去重启路由器,这样IP地址会改变,网络爬虫就能正常工作了 下面是通过发送Socket请求来模拟路由器的重启指令: protected void rebotadsl() { try { BufferedOutputStream sender = null; String url = baseURL; URL target

从0开始学爬虫10之urllib和requests库与github/api的交互

urllib库的使用 # coding=utf-8 import urllib2 import urllib # htpbin模拟的环境 URL_IP="http://10.11.0.215:8080" URL_GET = "http://10.11.0.215:8080/get" def use_simple_urllib2(): response = urllib2.urlopen(URL_IP) print '>>>> Response

python网络爬虫(二)requests库的基本介绍和使用

一.requests库的七个重要方法 (1)最常用方法:requests.get(url,params=None,**kwargs)//对应HTTP协议的GET()操作 (请求获得URL位置的资源) ① url:拟获取页面的url链接.url:在WWW上,每一信息资源都有统一的且在网上唯一的地址, 该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定 位标志,就是指网络地址.例:http://baidu.com ② params:url中的

从0开始学爬虫3之xpath的介绍和使用

Xpath:一种HTML和XML的查询语言,它能在XML和HTML的树状结构中寻找节点 安装xpath: pip install lxml HTML 超文本标记语言(HyperText Mark-up Language),是一种规范,一种标准,是构成网页文档的主要语言 URL 统一资源定位器(Uniform Resource Locator),互联网上的每个文件都有一个唯一的URL,它包含的信息之处文件的位置以及浏览器应该怎么处理它 Xpath的使用语法: 获取文本: //标签1[@属性1=”属

从0开始学爬虫4之requests基础知识

安装requestspip install requests get请求:可以用浏览器直接访问请求可以携带参数,但是又长度限制请求参数直接放在URL后面 POST请求:不能使用浏览器直接访问对请求参数的长度没有限制可以用来上传文件等需求 requests常用方法示例 use_requests.py #coding=utf-8 import requests def get_book(): """获取书本的信息""" url = 'http://s

web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签

标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.selector import HtmlXPathSelector select()标签选择器方法,是HtmlXPathSelector里的一个方法,参数接收选择器规则,返回列表元素是一个标签对象 extract()获取到选择器过滤后的内容,返回列表元素是内容 选择器规则 //x 表示向下查找n层指定标签,如://div 表示查找所有div标签

python爬虫(九) requests库之post请求

1.方法: response=requests.post("https://www.baidu.com/s",data=data) 2.拉勾网职位信息获取 因为拉勾网设置了反爬虫机制,在拉勾网中,一些页面的信息获取方法是post,所以就用到了post方法 在拉勾网中,我们搜索与python相关的职业,如果我们爬取这一页的信息,是没有职业的信息的,因为职业的信息在另外的jsp页面上,所以我们需要在这个界面上爬取到职业的信息,选择一个城市+学生身份 同样,在页面右击,选择查看元素,找到网络

Python爬虫学习一之Requests包使用方法

Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. 本文主要参考了其官方文档. Requests安装: requests目前的版本是v2.11.1, 在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装(很方便): > pip install requestsCollecting requests Downloading requests-2.11.1-py2.py3-none-any.whl <514kB>Installing