google-images-download
google-images-download copied to clipboard
JSON output of Google API changed again I think
Hi Joe,
I think they changed the google API again. Getting None errors returned from any attempted download. I presume we've to dig into their output again to find a fix.
the error is arising inside the format_object function because the try except returns an exception which is None. Might be a good idea to not just print(e) but instead do something like print( "Error in format_object:", e )
Found the fix Joe, turns out that if you change info = data[11] to info = data[22] it will all start working again.
Works for me as well - Thanks
Future readers, for branch "patch-1" commit e91e6a38ad654877f59edc7894822f5319d75df1, the line to edit is file: google_images_download/google_images_download.py method: format_object line: 407 And works on Google Image Search for Tuesday, December 27, 2022 11:31:19 AM I changed "info = data[11]" to "info = data[22]" and had success :)
its stop again, is there any solution so i can run it again?
on Jan. 9, 2023 I changed "info = data[11]" to "info = data[23]" and had success.
Thanks Its working
January 17, 2023 03:03:44 AM
"info = data[11]" to "info = data[22]"
doesn't work. It worked until last week as I remember.
Error message starts with 'bool' object is not subscriptable
And just read the answer from @DenimPauel "info = data[11]" to "info = data[23]" works! Thanks to @DenimPauel
January 17, 2023 03:03:44 AM
"info = data[11]" to "info = data[22]"
doesn't work. It worked until last week as I remember.
Error message starts with 'bool' object is not subscriptable
And just read the answer from @DenimPauel "info = data[11]" to "info = data[23]" works! Thanks to @DenimPauel
Yes, info = data[23] works
16th January 2023
Is the command line now superslow? I ran the following and its taking an age to run:
googleimagesdownload -l 10 -r labeled-for-reuse -k pepper -f jpg
Thanks all for sharing this solution!
Until now (2023/02/11), changing info = data[11]
to info = data[23]
still works for me 👍
Works here too! This should be updated to the main git tho :(
Bumping again today (March 22), anyone else affected?
change from "info = data[9]" to "info = data[25]" on line 405 or 407 in google_images_download.py.
or ... How about this? https://github.com/Joeclinton1/google-images-download/pull/33/commits/bb22871df27188302c73fdf8aa8faf1df9ae0839 this could search data[xx] maybe in the feature too.
Mar. 23, 2023.
So, we are at the previous bug again... 3rd time fixing it. This now is a better fix, and would have fixed the code 3 times without having to definte which item gives the correct value of info:
if info is None:
# EK
#info = data[11]
for item in data:
if type( item ) == dict:
info = item
basically what I'm doing is looking at all values of data and seeing which one is the dictionary. When we find it this is what info is set to. It works. And it would have worked for data[22] which occurred about 6 months ago. This then changed to data[23] and now the issue is that info = data[25]. We should just use my new fix. At least if there is one available directory the code can find the value of info itself.
@eamonnkenny great call, working smooth again, thank you very much.
Hi MrClean,
I think that it was rolled back to a really old version. You will need to implement my fix as described in issue #31 to replace lines 406 and 407 which currently are wrong:
if info is None:
info = data[11]
in google_image_download.py. My fix in issue #31 should just work. I'm not an editor of the code, so I can't fix the git repository.
Best Regards, Eamonn Kenny
On Thu, Nov 16, 2023 at 1:17 PM mrclean789 @.***> wrote:
None of the fixes seem to be working anymore. Any solutions?
— Reply to this email directly, view it on GitHub https://github.com/Joeclinton1/google-images-download/issues/31#issuecomment-1814421543, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAY5SUTF73U7DRCX26RKKSLYEYG75AVCNFSM6AAAAAAS6PDXRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGQZDCNJUGM . You are receiving this because you were mentioned.Message ID: @.***>
Thank you Eamonn, yes it works now. I'm actually running this again on a new machine and found out I had to install certificates :D
hi this is my config
Format the object in readable format
def format_object(self, object):
data = object[1]
main = data[3]
info = data[25]
if info is None:
info = data[11]
formatted_object = {}
try:
i am getting error, could you please help me to solve this
Item no.: 575 --> Item name = Anyk Napja 2023
Evaluating...
-1
Image objects data unpacking failed. Please leave a comment with the above error at https://github.com/Joeclinton1/google-images-download/pull/26
Traceback (most recent call last):
File "/home/usethis/script1.py", line 1380, in
I have
def format_object(self, object):
data = object[1]
main = data[3]
info = data[25]
if info is None:
for item in data:
if type( item ) == dict:
info = item
formatted_object = {}
...
And sadly I get:
Image objects data unpacking failed. Please leave a comment with the above error at ....
I have
def format_object(self, object): data = object[1] main = data[3] info = data[25] if info is None: for item in data: if type( item ) == dict: info = item formatted_object = {} ...
And sadly I get:
Image objects data unpacking failed. Please leave a comment with the above error at ....
Receiving same output, did some digging and it appears the issue is upstream from this format_object function.
Specifically, in the _extract_data_pack function:
def _extract_data_pack(self, page) function,
start_line = page.find("AF_initDataCallback({key: \\'ds:1\\'") - 10
is returning -11 (meaning that page.find is returning -1, so we are not finding the desired term. Everything from then on is basically coming up with no data.
So it's seems that the respData returned from:
req = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(req)
respData = str(resp.read())
Has changed quite a bit that the _extract_data_pack function is no longer functional.
please let me know if someone found any solution for this, i really need this