抓取国外网站的高清图片
抓取国外网站的高清图片:
#请求第三方库 import requests #数据提取第三方库 from pyquery import PyQuery as pq count = 1 def download_url_images(page): """ 突破防火墙限制下载国外全网高清图片 :param page: :return: """ global count url='https://gratisography.com/page/{}/'.format(page_number) #请求的头部信息,用于解决反爬的问题 headers={ 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36', 'cookie': '__cfduid=db02bbaa28b76cd17d85af5a1c54697ae1564471214; _ga=GA1.2.110668960.1564471220; _gid=GA1.2.992515974.1564471220; _gat_gtag_UA_33062738_24=1' } #请求服务并且获取服务器返回(响应)的数据 response_data=requests.get(url,headers=headers).text #print(response_data) #数据提取 #初始化数据 doc=pq(response_data) #print(doc) #通过类选择起来获取数据 #items()是返回数据的查询集 single=doc('.single-photo-thumb a img').items() #循环数据 for i in single: #通过属性来获取图片的连接 img_url=i.attr('src') #获取到了图片的url #请求图片的地址(img_url) img_data=requests.get(img_url,headers=headers) #保存图片到本地,文件读取方式:a 追加 w文件存在就写入,不存在就创建,存在的情况会覆盖 b进制文件的读取方式(二进制 16进制) r只读模式 with open('高清图片/{}.jpg'.format(count),'ab',) as f: f.write(img_data.content) count +=1 if __name__=="__main__": page_number=int(input("请输入你要抓取的页数:")) for page in (1,page_number): download_url_images(page)