deedy5 / duckduckgo_search

Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com search engine. Downloading files and images to a local hard drive.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Runtime error: VQDExtractionException: Could not extract vqd.

robertoshimizu opened this issue · comments

Describe the bug
Just installed latest version of duckduckgo_search and started testing in a jupyter notebook.
Tried the little code extracted from the documentation:

from duckduckgo_search import DDGS

with DDGS() as ddgs:
    results = [r for r in ddgs.text("python programming", max_results=5)]
    print(results)

Debug log

DEBUG:httpx:load_ssl_context verify=True cert=None trust_env=True http2=False
DEBUG:httpx:load_verify_locations cafile='/Users/rober/GitRepo/solvegraph_corporate/.venv/lib/python3.11/site-packages/certifi/cacert.pem'
DEBUG:httpcore.connection:connect_tcp.started host='duckduckgo.com' port=443 local_address=None timeout=10 socket_options=None
DEBUG:httpcore.connection:connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x124a14750>
DEBUG:httpcore.connection:start_tls.started ssl_context=<ssl.SSLContext object at 0x124a484d0> server_hostname='duckduckgo.com' timeout=10
DEBUG:httpcore.connection:start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12485f050>
DEBUG:httpcore.http2:send_connection_init.started request=<Request [b'POST']>
DEBUG:httpcore.http2:send_connection_init.complete
DEBUG:httpcore.http2:send_request_headers.started request=<Request [b'POST']> stream_id=1
DEBUG:hpack.hpack:Adding (b':method', b'POST') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 3 with 7 bits
DEBUG:hpack.hpack:Adding (b':authority', b'duckduckgo.com') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 1 with 6 bits
DEBUG:hpack.hpack:Encoding 11 with 7 bits
DEBUG:hpack.hpack:Adding (b':scheme', b'https') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 7 with 7 bits
DEBUG:hpack.hpack:Adding (b':path', b'/') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 4 with 7 bits
DEBUG:hpack.hpack:Adding (b'accept', b'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 19 with 6 bits
DEBUG:hpack.hpack:Encoding 101 with 7 bits
DEBUG:hpack.hpack:Adding (b'accept-language', b'en-US,en;q=0.9') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 17 with 6 bits
DEBUG:hpack.hpack:Encoding 11 with 7 bits
DEBUG:hpack.hpack:Adding (b'accept-encoding', b'gzip, deflate, br') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 16 with 6 bits
DEBUG:hpack.hpack:Encoding 13 with 7 bits
DEBUG:hpack.hpack:Adding (b'referer', b'https://duckduckgo.com/') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 51 with 6 bits
DEBUG:hpack.hpack:Encoding 17 with 7 bits
DEBUG:hpack.hpack:Adding (b'user-agent', b'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 58 with 6 bits
DEBUG:hpack.hpack:Encoding 76 with 7 bits
DEBUG:hpack.hpack:Adding (b'content-length', b'20') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 28 with 6 bits
DEBUG:hpack.hpack:Encoding 2 with 7 bits
DEBUG:hpack.hpack:Adding (b'content-type', b'application/x-www-form-urlencoded') to the header table, sensitive:False, huffman:True
DEBUG:hpack.hpack:Encoding 31 with 6 bits
DEBUG:hpack.hpack:Encoding 24 with 7 bits
DEBUG:hpack.hpack:Encoded header block to b'\x83A\x8b\x92\xd2u\x92\xd2u\x98\xeb\x90\xf4\xff\x87\x84S\xe5I|\xa5\x89\xd3M\x1fC\xae\xba\x0cA\xa4\xc7\xa9\x8f3\xa6\x9a?\xdf\x9ah\xfa\x1du\xd0b\r&=Ly\xa6\x8f\xbe\xd0\x01w\xfe\x8dH\xe6+\x03\xeei~\x8dH\xe6+\x1e\x0b\x1d\x7fF\xa4s\x15\x81\xd7T\xdf_,|\xfd\xf6\x80\x0b\xbd\xf4:\xeb\xa0\xc4\x1aLz\x98A\xa6\xa8\xb2,_$\x9cuL_\xbe\xf0F\xcf\xdfh\x00\xbb\xbfQ\x8b-Kp\xdd\xf4Z\xbe\xfb@\x05\xdfP\x8d\x9b\xd9\xab\xfaRB\xcb@\xd2_\xa5#\xb3s\x91\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xaeC\xd2\xc7z\xcc\xd0\x7ff\xa2\x81\xb0\xda\xe0S\xfa\xe4j\xa4?\x84)\xa7z\x81\x02\xe0\xfe\xd4\x86\xba\xe8/"\xc7\x98\xc9a\xb6]]\x97\x14\xfe\xb3c\xdf\xa3?\xd2\x94\x1b\xa9T\xc4Ru?\xf6\xa5\xe9\xec=%`!}p.\x05\xc0\xa6\xe1\xca;\x0c\xc3l\xba\xbb.\x7f\\\x82\x10?_\x98\x1du\xd0b\r&=Ly[\xc7\x8f\x0bJ{)Z\xdb(-D<\x85\x93'
DEBUG:httpcore.http2:send_request_headers.complete
DEBUG:httpcore.http2:send_request_body.started request=<Request [b'POST']> stream_id=1
DEBUG:httpcore.http2:send_request_body.complete
DEBUG:httpcore.http2:receive_response_headers.started request=<Request [b'POST']> stream_id=1
DEBUG:httpcore.http2:receive_remote_settings.started
DEBUG:httpcore.http2:receive_remote_settings.complete return_value=<RemoteSettingsChanged changed_settings:{ChangedSetting(setting=3, original_value=None, new_value=64), ChangedSetting(setting=4, original_value=65535, new_value=65536), ChangedSetting(setting=5, original_value=16384, new_value=16777215)}>
DEBUG:hpack.hpack:Decoding b' \x88v\x84\xaacU\xe7a\x96\xdfi~\x94\x03j_)\x14\x10\x04\xca\x82\x15\xc6Z\xb8\xdb\xcab\xd1\xbf_\x92I|\xa5\x89\xd3M\x1fj\x12q\xd8\x82\xa6\x0e\x1b\xf0\xac\xf7{\x8b\x84\x84-i[\x05D<\x86\xaao\x00\x8aAl\xee[\x16I\xa95S\x7f\x99I\xd2:>\xe4\xb6\xc8\x1b\x0f\xdc\x85A \xfen\x8c\x9dKT\x8ao:GG\xf3\x00\x8f\xf2\xb4\x96\x93\xac\x96\x93\xac\xc7Z\xc2\xa2\xda\x12\x8f\x011\x00\x91Bl1\x12\xb2l\x1dH\xac\xf6%d\x14\x96\xd8d\xfa\x8c\xa4~V\x1c\xc5\x81\x90\xb6\xcb\x80\x00?\x00\x8d\xac\xb6Rd \xc7\xa9\x0bVz\x0cO_\x8e5I-\x85BV!\xe7=\x89\x83\xfa\xfe\xff\x00\x90!\xeaIjJ\xc8)-\xb0\xc9\xf4\xb5g\xa0\xc4\xf5\xff\x9e\t\x90\xb2\x8e\xda\x12\xb2,"\x9f\xea\xa3\xd4_\xf4\xa7\xda\x84=U\x14\x89Y\x16\x11E\'JkE\xc6\x18\x92\xd2u\x92\xd2u\x98\xeb\x90\xf4\xa9:SZ.0\xc7\xca\xf2ZN\xb2ZN\xb3\x1dr\x1e\x95\'JkE\xc6\x18\x92\xd2u\x92\xd2u\x98\xf3L\xd0\xbc\xf49\x1d\x17\x96Q\xd0h?\x83\x8e\xc9c\x98\x94\xf7\x94\xd4\x8eT\xa5\xc4\xf8\x1c\xc8\xf1\xec\x9e\xc7"\xe7\xa8\xc7\xa9\x85\'JkE\xc6\x18Ev\x14rWa\xbb\x8c\x9e\x97!\xe9S\xedJGQ\xa5*\x12\xb2,"\x8aN\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xd7!\xe9Rt\xa6\xb4\\a\x8f\x95\xe4\xb4\x9dd\xb4\x9df:\xe4=*N\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xe6\x99\xa1y\xe8r:/,\xa3\xa0\xd0\x7f\x07\x1d\x92\xc71)\xef)\xa9\x1c\xa9K\x89\xf09\x91\xe3\xd9=\x8eE\xcfQ\x8fS\nN\x94\xd6\x8b\x8c0\x8a\xec(\xe4\xae\xc3w\x19=.C\xd2\xa7\xda\x94\x96C\rdXE\x14\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xaeC\xd2\xa4\xe9Mh\xb8\xc3\x1f+\xc9i:\xc9i:\xccu\xc8zT\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xcd3B\xf3\xd0\xe4t^YGA\xa0\xfe\x0e;%\x8ebS\xdeSR9R\x97\x13\xe0s#\xc7\xb2{\x1c\x8b\x9e\xa3\x1e\xa6\x14\x9d)\xad\x17\x18a\x15\xd8Q\xc9]\x86\xee2z\\\x87\xa5O\xb5\x10K\rZVE\x84R:\x0f\x1d\xc5\x14\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xaeC\xd2\xa4\xe9Mh\xb8\xc3\x1f+\xc9i:\xc9i:\xccu\xc8zT\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xcd3B\xf3\xd0\xe4t^YGA\xa0\xfe\x0e;%\x8ebS\xdeSR9R\x97\x13\xe0s#\xc7\xb2{\x1c\x8b\x9e\xa3\x1e\xa6\x14\x9d)\xad\x17\x18a\x15\xd8Q\xc9]\x86\xee2z\\\x87\xa5O\xf5mH\x1c\xa5X\xd5Pj\x8b\xfe\x94\xffV\xd4\x81\xcaU\x8b\xdct\x7f\xa5>\xd4\x94\xf5%dXE$\x1aGqE\'JkE\xc6\x18\x92\xd2u\x92\xd2u\x98\xeb\x90\xf4\xa9:SZ.0\xc7\xca\xf2ZN\xb2ZN\xb3\x1dr\x1e\x95\'JkE\xc6\x18\x92\xd2u\x92\xd2u\x98\xf3L\xd0\xbc\xf49\x1d\x17\x96Q\xd0h?\x83\x8e\xc9c\x98\x94\xf7\x94\xd4\x8eT\xa5\xc4\xf8\x1c\xc8\xf1\xec\x9e\xc7"\xe7\xa8\xc7\xa9\x85\'JkE\xc6\x18Ev\x14rWa\xbb\x8c\x9e\x97!\xe9S\xedCS2\xc8\xb0\x8aH4\x8e\xe2\x8aN\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xd7!\xe9Rt\xa6\xb4\\a\x8f\x95\xe4\xb4\x9dd\xb4\x9df:\xe4=*N\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xe6\x99\xa1y\xe8r:/,\xa3\xa0\xd0\x7f\x07\x1d\x92\xc71)\xef)\xa9\x1c\xa9K\x89\xf09\x91\xe3\xd9=\x8eE\xcfQ\x8fS\nN\x94\xd6\x8b\x8c0\x8a\xec(\xe4\xae\xc3w\x19=.C\xd2\xa7\xda\x88O\xaa\n\xb2,"\x8aN\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xd7!\xe9Rt\xa6\xb4\\a\x8f\x95\xe4\xb4\x9dd\xb4\x9df:\xe4=*N\x94\xd6\x8b\x8c1%\xa4\xeb%\xa4\xeb1\xe6\x99\xa1y\xe8r:/,\xa3\xa0\xd0\x7f\x07\x1d\x92\xc71)\xef)\xa9\x1c\xa9K\x89\xf09\x91\xe3\xd9=\x8eE\xcfQ\x8fS\nN\x94\xd6\x8b\x8c0\x8a\xec(\xe4\xae\xc3w\x19=.C\xd2\xa7\xfa\xb6\xa4\x0eR\xacj\xa85E\xffJ}\xa8x\xfa\x14\x89Y\x16\x11O\xf5Q\xea/\xfaS\xedO\x07\xb3\xa9lY\x16\x11H\xe8<w\x14\xfbP\x93\x9a\x89\x16E\x84R:\x0f\x1d\xc5\x14\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xaeC\xd2\xa4\xe9Mh\xb8\xc3\x1f+\xc9i:\xc9i:\xccu\xc8zT\x9d)\xad\x17\x18bKI\xd6KI\xd6c\xcd3B\xf3\xd0\xe4t^YGA\xa0\xfe\x0e;%\x8ebS\xdeSR9R\x97\x13\xe0s#\xc7\xb2{\x1c\x8b\x9e\xa3\x1e\xa6\x14\x9d)\xad\x17\x18a\x15\xd8Q\xc9]\x86\xee2z\\\x87\xa5O\xb5%\xb0t\x95dXE#\xa0\xf1\xdcQI\xd2\x9a\xd1q\x86$\xb4\x9dd\xb4\x9df:\xe4=*N\x94\xd6\x8b\x8c1\xf2\xbc\x96\x93\xac\x96\x93\xac\xc7\\\x87\xa5I\xd2\x9a\xd1q\x86$\xb4\x9dd\xb4\x9df<\xd34/=\x0eGE\xe5\x94t\x1a\x0f\xe0\xe3\xb2X\xe6%=\xe55#\x95)q>\x072<{\'\xb1\xc8\xb9\xea1\xeaaI\xd2\x9a\xd1q\x86\x11]\x85\x1c\x95\xd8n\xe3\'\xa5\xc8zT\xfbRS\xd9J\xc3"Lz\x94Rt\xa6\xb4\\a\x89-\'Y-\'Y\x8e\xb9\x0fJ\x93\xa55\xa2\xe3\x0c|\xaf%\xa4\xeb%\xa4\xeb1\xd7!\xe9Rt\xa6\xb4\\a\x89-\'Y-\'Y\x8f4\xcd\x0b\xcfC\x91\xd1ye\x1d\x06\x83\xf88\xec\x969\x89OyMH\xe5J\\O\x81\xcc\x8f\x1e\xc9\xecr.z\x8cz\x98Rt\xa6\xb4\\a\x84WaG%v\x1b\xb8\xc9\xe9r\x1e\x95>\xd4\x96\xc1\xd2U\x87Q\n\x84\x9e\xc4)\xfe\x90Z%\xffJ}\xa9\x18\xd0U\xad\xb0\xca\x7f\xa4\x16\x89\x7f\xd2\x9fjGA\xc9\xd5a\xd1B\xd4\x9b\xc9dX\x87\xa9%\xa9*}\xff\x00\x8b\xf2\xb4\xb6\x0e\x92\xacz\xd2c\xd4\x8f\x89\xdd\x0e\x8c\x1a\xb6\xe4\xc5\x93O\x00\x8c\xf2\xb7\x94!j\xec:JD\x98\xf5\x7f\x89\x0f\xdd\'\x90\xb0GA\xc9\xd7\x00\x90\xf2\xb1\x0fRKRVO\xaa\xca\xb1\xebI\x8fR?\x85\xa8\xe8\xa8\xd2\xcb\x00\x8b\xb0\xb2\x96\xcb\x0bb\xd5\x9e\x83\x13\xd7\x85=\x86\x98\xd5\x7f\x00\x87/\x9a\xcaD\xacD\xff\x87\xa4~V\x1c\xc5\x80\x1f\x00\x85/\x9a\xcdaQ\x96\xdfi~\x94\x03j_)\x14\x10\x04\xca\x82\x15\xc6Z\xb8\xdb\xeab\xd1\xbf\x00\x89 \xc99V!\xeaM\x87\xa3\x87\xa4~V\x1c\xc5\x80?\x00\x8e\xf2\xb4\x96\x93\xac\x96\x93\xac\xc7Z\x83\x90t\x17\x84-Qp\xdd\x00\x8b!\xeaIjJ\xc5\xa8\x87\x90\xd5M\x02br'
DEBUG:hpack.hpack:Decoded 0, consumed 1 bytes
DEBUG:hpack.table:Resizing header table to 0 from 4096
DEBUG:hpack.hpack:Decoded 8, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b':status', b'200'), consumed 1
DEBUG:hpack.hpack:Decoded 54, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 4, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'server', b'nginx'), total consumed 6 bytes, indexed True
DEBUG:hpack.hpack:Decoded 33, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 22, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'date', b'Tue, 05 Dec 2023 22:34:58 GMT'), total consumed 24 bytes, indexed True
DEBUG:hpack.hpack:Decoded 31, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 18, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'content-type', b'text/html; charset=UTF-8'), total consumed 20 bytes, indexed True
DEBUG:hpack.hpack:Decoded 59, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 11, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'vary', b'Accept-Encoding'), total consumed 13 bytes, indexed True
DEBUG:hpack.hpack:Decoded 10, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 25, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'server-timing', b'total;dur=51;desc="Backend Total"'), total consumed 38 bytes, indexed False
DEBUG:hpack.hpack:Decoded 15, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 1, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'x-duckduckgo-results', <memory at 0x124980f40>), total consumed 19 bytes, indexed False
DEBUG:hpack.hpack:Decoded 17, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 12, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'strict-transport-security', b'max-age=31536000'), total consumed 32 bytes, indexed False
DEBUG:hpack.hpack:Decoded 13, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 14, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'permissions-policy', b'interest-cohort=()'), total consumed 30 bytes, indexed False
DEBUG:hpack.hpack:Decoded 16, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 1309, consumed 3 bytes
DEBUG:hpack.hpack:Decoded (b'content-security-policy', b"default-src 'none' ; connect-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; manifest-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; media-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; script-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ 'unsafe-inline' 'unsafe-eval' ; font-src data:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; img-src data:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; style-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ 'unsafe-inline' ; object-src 'none' ; worker-src blob: ; child-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; frame-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; form-action  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; frame-ancestors 'self' ; base-uri 'self' ; block-all-mixed-content ;"), total consumed 1330 bytes, indexed False
DEBUG:hpack.hpack:Decoded 11, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 9, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'x-frame-options', b'SAMEORIGIN'), total consumed 23 bytes, indexed False
DEBUG:hpack.hpack:Decoded 12, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 9, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'x-xss-protection', b'1;mode=block'), total consumed 24 bytes, indexed False
DEBUG:hpack.hpack:Decoded 16, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 5, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'x-content-type-options', b'nosniff'), total consumed 24 bytes, indexed False
DEBUG:hpack.hpack:Decoded 11, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 5, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'referrer-policy', b'origin'), total consumed 19 bytes, indexed False
DEBUG:hpack.hpack:Decoded 7, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 7, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'expect-ct', b'max-age=0'), total consumed 17 bytes, indexed False
DEBUG:hpack.hpack:Decoded 5, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 22, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'expires', b'Tue, 05 Dec 2023 22:34:59 GMT'), total consumed 30 bytes, indexed False
DEBUG:hpack.hpack:Decoded 9, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 7, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'cache-control', b'max-age=1'), total consumed 19 bytes, indexed False
DEBUG:hpack.hpack:Decoded 14, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 4, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'x-duckduckgo-locale', b'en_US'), total consumed 21 bytes, indexed False
DEBUG:hpack.hpack:Decoded 11, consumed 1 bytes
DEBUG:hpack.hpack:Decoded 2, consumed 1 bytes
DEBUG:hpack.hpack:Decoded (b'content-encoding', <memory at 0x124981b40>), total consumed 16 bytes, indexed False
DEBUG:httpcore.http2:receive_response_headers.complete return_value=(200, [(b'server', b'nginx'), (b'date', b'Tue, 05 Dec 2023 22:34:58 GMT'), (b'content-type', b'text/html; charset=UTF-8'), (b'vary', b'Accept-Encoding'), (b'server-timing', b'total;dur=51;desc="Backend Total"'), (b'x-duckduckgo-results', b'1'), (b'strict-transport-security', b'max-age=31536000'), (b'permissions-policy', b'interest-cohort=()'), (b'content-security-policy', b"default-src 'none' ; connect-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; manifest-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; media-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; script-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ 'unsafe-inline' 'unsafe-eval' ; font-src data:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; img-src data:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; style-src  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ 'unsafe-inline' ; object-src 'none' ; worker-src blob: ; child-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; frame-src blob:  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; form-action  https://duckduckgo.com/ [https://*.duckduckgo.com](https://%2A.duckduckgo.com/) https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ https://spreadprivacy.com/ ; frame-ancestors 'self' ; base-uri 'self' ; block-all-mixed-content ;"), (b'x-frame-options', b'SAMEORIGIN'), (b'x-xss-protection', b'1;mode=block'), (b'x-content-type-options', b'nosniff'), (b'referrer-policy', b'origin'), (b'expect-ct', b'max-age=0'), (b'expires', b'Tue, 05 Dec 2023 22:34:59 GMT'), (b'cache-control', b'max-age=1'), (b'x-duckduckgo-locale', b'en_US'), (b'content-encoding', b'br')])
INFO:httpx:HTTP Request: POST https://duckduckgo.com/ "HTTP/2 200 OK"
DEBUG:httpcore.http2:receive_response_body.started request=<Request [b'POST']> stream_id=1
DEBUG:httpcore.http2:receive_response_body.complete
DEBUG:httpcore.http2:response_closed.started stream_id=1
DEBUG:httpcore.http2:response_closed.complete
DEBUG:httpcore.connection:close.started
DEBUG:httpcore.connection:close.complete
---------------------------------------------------------------------------
VQDExtractionException                    Traceback (most recent call last)
Cell In[88], line 6
      3 from duckduckgo_search import DDGS
      5 with DDGS() as ddgs:
----> 6     results = [r for r in ddgs.text("python programming", max_results=5)]
      7     print(results)

Cell In[88], line 6, in <listcomp>(.0)
      3 from duckduckgo_search import DDGS
      5 with DDGS() as ddgs:
----> 6     results = [r for r in ddgs.text("python programming", max_results=5)]
      7     print(results)

File ~/GitRepo/solvegraph_corporate/.venv/lib/python3.11/site-packages/duckduckgo_search/duckduckgo_search.py:105, in DDGS.text(self, keywords, region, safesearch, timelimit, backend, max_results)
    102     results = self._text_lite(keywords, region, timelimit, max_results)
    104 if results:
--> 105     for i, result in enumerate(results, start=1):
    106         yield result
    107         if max_results and i >= max_results:

File ~/GitRepo/solvegraph_corporate/.venv/lib/python3.11/site-packages/duckduckgo_search/duckduckgo_search.py:133, in DDGS._text_api(self, keywords, region, safesearch, timelimit, max_results)
    118 """DuckDuckGo text search generator. Query params: https://duckduckgo.com/params
    119 
    120 Args:
   (...)
    129 
    130 """
    131 assert keywords, "keywords is mandatory"
--> 133 vqd = self._get_vqd(keywords)
    135 payload = {
    136     "q": keywords,
    137     "kl": region,
   (...)
    144     "sp": "0",
    145 }
    146 safesearch = safesearch.lower()

File ~/GitRepo/solvegraph_corporate/.venv/lib/python3.11/site-packages/duckduckgo_search/duckduckgo_search.py:65, in DDGS._get_vqd(self, keywords)
     63 resp = self._get_url("POST", "https://duckduckgo.com/", data={"q": keywords})
     64 if resp:
---> 65     return _extract_vqd(resp.content, keywords)

File ~/GitRepo/solvegraph_corporate/.venv/lib/python3.11/site-packages/duckduckgo_search/utils.py:38, in _extract_vqd(html_bytes, keywords)
     36     except ValueError:
     37         pass
---> 38 raise VQDExtractionException(f"Could not extract vqd. {keywords=}")

VQDExtractionException: Could not extract vqd. keywords='python programming'

Screenshots
If applicable, add screenshots to help explain your problem.

Specify this information

  • OS: macOS
  • environment: pipenv --python 3.11.6
  • duckduckgo_search version: 3.9.9

This seems to be a bug in V 3.9.9
It's OK with 3.9.8 version

pip install -q duckduckgo-search==3.9.8

try using proxy if your ip is blocked