请求是一个非常好的库.我想用它来下载大文件(> 1GB).问题是不可能将整个文件保存在内存中我需要以块的形式读取它.这是以下代码的问题
import requests
def DownloadFile(url)
local_filename = url.split('/')[-1]
r = requests.get(url)
f = open(local_filename, 'wb')
for chunk in r.iter_content(chunk_size=512 * 1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.close()
return
Run Code Online (Sandbox Code Playgroud)
由于某种原因它不起作用.在将其保存到文件之前,它仍会将响应加载到内存中.
UPDATE
如果你需要一个可以从FTP下载大文件的小客户端(Python 2.x /3.x),你可以在这里找到它.它支持多线程和重新连接(它确实监视连接),它还为下载任务调整套接字参数.
对于我的工作,我正在研究一个人们会使用谷歌搜索图像并使用他们找到的任何名人照片的想法.谷歌将返回结果,然后在我们的最后,有一个专业人士数据库显示如何获得特定的外观.
我假设这是不太可能的,基于用户可以使用任何照片.
那么,有没有一种方法可以让我有大约100张左右的名人照片,谷歌图像结果可以比较,然后选择最接近的那些.
基本上:
我不是程序员,但是正在寻找一些API或Search by Image扩展,这可以让我的工作中的程序员远程实现这一点.是否存在类似的东西(图像api搜索)?我能找到的最好的只是支持页面,几乎没有任何帮助:http://support.google.com/images/bin/answer.py?hl = zh-CN&p = searchbyimagepage&answer = 132258
我有以下网址:
url = http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg
我想在这个网址中提取文件名:09-09-201315-47-571378756077.jpg
获得此文件名后,我将使用此名称将其保存到桌面.
filename = **extracted file name from the url**
download_photo = urllib.urlretrieve(url, "/home/ubuntu/Desktop/%s.jpg" % (filename))
Run Code Online (Sandbox Code Playgroud)
在此之后,我将调整照片的大小,一旦完成,我将保存调整大小的版本并在文件名的末尾附加单词"_small".
downloadedphoto = Image.open("/home/ubuntu/Desktop/%s.jpg" % (filename))
resize_downloadedphoto = downloadedphoto.resize.((300, 300), Image.ANTIALIAS)
resize_downloadedphoto.save("/home/ubuntu/Desktop/%s.jpg" % (filename + _small))
Run Code Online (Sandbox Code Playgroud)
从这个,我想要实现的是获得两个文件,原始照片与原始名称,然后调整大小的照片与修改名称.像这样:
09-09-201315-47-571378756077.jpg
09-09-201315-47-571378756077_small.jpg
我该怎么做呢?
我做了一些搜索谷歌图片
结果是成千上万的照片.我正在寻找一个将下载第一批n图像的shell脚本,例如1000或500.
我怎样才能做到这一点 ?
我想我需要一些高级正则表达式或类似的东西.我尝试了很多东西,但无济于事,有人可以帮我吗?
此问题之前已被多次询问过,但所有答案都至少有几年的历史,目前基于ajax.googleapis.com API,不再受支持.
有谁知道另一种方式?我正在尝试下载大约一百个搜索结果,除了Python API之外,我还尝试了许多基于桌面,基于浏览器或浏览器插件的程序来执行此操作,但都失败了.
谢谢!
我想下载谷歌给我的命令行的第n个图像,即与命令一样 wget
要搜索[something]我的图像,只需转到页面,https://www.google.cz/search?q=[something]&tbm=isch但如何获取第n个搜索结果的网址,以便我可以使用wget?
我试图找出是否有办法通过API进行谷歌类似的图像搜索?
我知道图片搜索API已经折旧了,但它仍然可用吗? https://developers.google.com/image-search/
另外......看起来您可以使用自定义搜索API进行图像搜索,但如果可以进行类似的图像搜索,我似乎无法解决. http://thenextweb.com/dd/2012/02/14/googles-custom-search-api-now-supports-image-only-results/
任何有关我们工作的建议的领导将不胜感激.
谢谢!
我正在寻找一个API或程序(最好是Python和开源),它允许我下载谷歌图像搜索的前n张图片,让我们说自行车.如果它可以从普通搜索下载前n个 .pdf文件也会有所帮助.由于并非所有图片和.pdf文件都可以在Google上找到,而且由于还有许多其他搜索引擎,因此也可以从雅虎或Bing中获取结果的程序非常方便.是否有任何此类程序或Google是否有API允许我每天进行100多次搜索?
编辑:路过的人可能想看看我在这里编写这样一个刮刀的尝试
我正在通过 Google 图片下载器抓取图片。原本可以运行的代码突然停止运行了,这个问题怎么解决?代码和错误信息如下
from google_images_download import google_images_download
def ImageCrawling(keyword, dir):
response = google_images_download.googleimagesdownload()
arguments = {"keywords":keyword
,"limit":2
,"print_urls":True
,'output_directory':dir}
paths = response.download(arguments) #passing the arguments to the function
print(paths) #printing absolute paths of the downloaded images
ImageCrawling('dog','C:\\nuguya')
Run Code Online (Sandbox Code Playgroud)

我正在尝试从Google Image搜索中获取特定查询的图像.但我下载的页面没有图片,它将我重定向到谷歌的原始页面.这是我的代码:
AGENT_ID = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
GOOGLE_URL = "https://www.google.com/images?source=hp&q={0}"
_myGooglePage = ""
def scrape(self, theQuery) :
self._myGooglePage = subprocess.check_output(["curl", "-L", "-A", self.AGENT_ID, self.GOOGLE_URL.format(urllib.quote(theQuery))], stderr=subprocess.STDOUT)
print self.GOOGLE_URL.format(urllib.quote(theQuery))
print self._myGooglePage
f = open('./../../googleimages.html', 'w')
f.write(self._myGooglePage)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
谢谢
我在python中使用google image api下载20个第一个图像结果,代码如下:
import os
import sys
import time
from urllib import FancyURLopener
import urllib2
import simplejson
searchTerm = "Cat"
# Replace spaces ' ' in search term for '%20' in order to comply with request
searchTerm = searchTerm.replace(' ','%20')
# Start FancyURLopener with defined version
class MyOpener(FancyURLopener):
version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
myopener = MyOpener()
# Set count to 0
count=0
for i in range(0,4):
# Notice that the start changes for …Run Code Online (Sandbox Code Playgroud)