关于在学习python3网络爬虫模块时的易模糊点

  • 两种代理格式

在学习urlretrieve函数方法时,尝试了与BeautifulSoup模块的结合编码。

request.bulid_opener()的一类函数方法中,如:

headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36')
# 安装opener
opener = request.build_opener()
# 添加代理
opener.addheaders = [headers]
# 使用临时的'urlopen'
request.install_opener(opener)

而在有requests.get(url=url,headers=headers…)一类函数方法中,如:

headers = {'User-Agent':
           'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36'}
    # 利用requests模块中的方法获取URL信息,加上我们的代理
re = requests.get(url=url, headers=headers)

比较两者易知,两者的代理规定与是否为字典形式有偏差。

  • 在利用requests.get()下载图片时

    re = requests.get(url=url)    
        #应当加上二进制的格式规定,避免不必要的错误麻烦
       with open('美女图片.jpg','wb') as mntu:
           for chunk in re.iter_content(chunk_size = 1024):
                if chunk:
                    mntu.write(chunk)
                    mntu.flush()
    

在查询相关的资料时,有Stream=True的参数说明要加入,但是加入之后却是错误显示。在with下面的for chunk…在下载图片时应当加入。为何要加入,在此可易知

---------------本文终---------------