Python requests findet Seite nicht?
Hi ich nutze requests um eine Suchanfrage auf einer Seite zu starten.
Wenn ich den Link über den Brower öffne finde ich den gesuchen inhalt.
Wenn ich nun den gleichen link über python requests aufsuche finde ich keinen Inhalt.
Ich bin absolut verzweifelt.
Link:
https://saddle-world-online.de/wp-json/wp/v2/media?search=ex_18-13_schwarz
Ich nutze folgenden Code:
import requests
url = 'https://saddle-world-online.de/wp-json/wp/v2/media?search=ex_18-13_schwarz'
response = requests.get(url)
result = response.json()
Ergebnis: []
3 Antworten
Die meisten modernen Websites machen extrem viel mit JavaScript - viele Inhalte werden also erst vom Browser nachgeladen.
In manchen Fällen wird auch aktiv versucht, Zugriffe von Nicht-Browsern zu verhindern. Da wird etwa auf den User-Agent geschaut, es werden Cookies vorausgesetzt, etc.
Beides lässt sich (etwas mühsam) mit Headless Browser umgehen. Siehe Selenium & Co.
Ehrlich gesagt glaube ich nicht das es das Problem ist, 90% der Anfragen funktionieren. Nur spezielle wie dieses Beispiel funktioniert nicht.
Lösche ist den letzten Buchstaben des links: also das "z" von "schwarz" dann funktioniert es in diesem Fall...
Seltsam, mit exakt dem gleichen Vorgehen (kopieren und einfügen; Tippfehler meinerseits also ausgeschlossen) sieht das Ergebnis bei mir so aus:
[{'id': 14449, 'date': '2022-08-05T07:03:05', 'date_gmt': '2022-08-05T07:03:05', 'guid': {'rendered': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz.webp'}, 'modified': '2022-08-05T07:03:05', 'modified_gmt': '2022-08-05T07:03:05', 'slug': 'ex_18-13_schwarz', 'status': 'inherit', 'type': 'attachment', 'link': 'https://saddle-world-online.de/ex_18-13_schwarz/', 'title': {'rendered': 'ex_18-13_schwarz'}, 'author': 1, 'comment_status': 'open', 'ping_status': 'closed', 'template': '', 'meta': {'_et_pb_use_builder': '', '_et_pb_old_content': '', '_et_gb_content_width': '', '_mi_skip_tracking': False}, 'media_folder': [237], 'description': {'rendered': '<p class="attachment"><a href=\'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz.webp\'><img width="300" height="200" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-300x200.webp" class="attachment-medium size-medium lazyload" alt="" /><noscript><img width="300" height="200" src="https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-300x200.webp" class="attachment-medium size-medium lazyload" alt="" /></noscript></a></p>\n'}, 'caption': {'rendered': ''}, 'alt_text': '', 'media_type': 'image', 'mime_type': 'image/webp', 'media_details': {'width': 2560, 'height': 1707, 'file': '2022/08/ex_18-13_schwarz.webp', 'filesize': 67050, 'sizes': {'medium': {'file': 'ex_18-13_schwarz-300x200.webp', 'width': 300, 'height': 200, 'filesize': 7068, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-300x200.webp'}, 'large': {'file': 'ex_18-13_schwarz-1024x683.webp', 'width': 1024, 'height': 683, 'filesize': 25946, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1024x683.webp'}, 'thumbnail': {'file': 'ex_18-13_schwarz-150x150.webp', 'width': 150, 'height': 150, 'filesize': 2916, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-150x150.webp'}, 'medium_large': {'file': 'ex_18-13_schwarz-768x512.webp', 'width': 768, 'height': 512, 'filesize': 22362, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-768x512.webp'}, '1536x1536': {'file': 'ex_18-13_schwarz-1536x1024.webp', 'width': 1536, 'height': 1024, 'filesize': 53166, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1536x1024.webp'}, '2048x2048': {'file': 'ex_18-13_schwarz-2048x1366.webp', 'width': 2048, 'height': 1366, 'filesize': 60162, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-2048x1366.webp'}, 'et-pb-post-main-image': {'file': 'ex_18-13_schwarz-400x250.webp', 'width': 400, 'height': 250, 'filesize': 8324, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-400x250.webp'}, 'et-pb-post-main-image-fullwidth': {'file': 'ex_18-13_schwarz-1080x675.webp', 'width': 1080, 'height': 675, 'filesize': 37242, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1080x675.webp'}, 'et-pb-portfolio-image': {'file': 'ex_18-13_schwarz-400x284.webp', 'width': 400, 'height': 284, 'filesize': 12072, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-400x284.webp'}, 'et-pb-portfolio-module-image': {'file': 'ex_18-13_schwarz-510x382.webp', 'width': 510, 'height': 382, 'filesize': 17596, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-510x382.webp'}, 'et-pb-portfolio-image-single': {'file': 'ex_18-13_schwarz-1080x720.webp', 'width': 1080, 'height': 720, 'filesize': 64408, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1080x720.webp'}, 'et-pb-gallery-module-image-portrait': {'file': 'ex_18-13_schwarz-400x516.webp', 'width': 400, 'height': 516, 'filesize': 17664, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-400x516.webp'}, 'woocommerce_thumbnail': {'file': 'ex_18-13_schwarz-1000x667.webp', 'width': 1000, 'height': 667, 'filesize': 52956, 'uncropped': True, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1000x667.webp'}, 'woocommerce_single': {'file': 'ex_18-13_schwarz-1000x667.webp', 'width': 1000, 'height': 667, 'filesize': 52956, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1000x667.webp'}, 'woocommerce_gallery_thumbnail': {'file': 'ex_18-13_schwarz-100x100.webp', 'width': 100, 'height': 100, 'filesize': 1666, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-100x100.webp'}, 'shop_catalog': {'file': 'ex_18-13_schwarz-1000x667.webp', 'width': 1000, 'height': 667, 'filesize': 52956, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1000x667.webp'}, 'shop_single': {'file': 'ex_18-13_schwarz-1000x667.webp', 'width': 1000, 'height': 667, 'filesize': 52956, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-1000x667.webp'}, 'shop_thumbnail': {'file': 'ex_18-13_schwarz-100x100.webp', 'width': 100, 'height': 100, 'filesize': 1666, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-100x100.webp'}, 'dgwt-wcas-product-suggestion': {'file': 'ex_18-13_schwarz-64x43.webp', 'width': 64, 'height': 43, 'filesize': 974, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz-64x43.webp'}, 'full': {'file': 'ex_18-13_schwarz.webp', 'width': 2560, 'height': 1707, 'mime_type': 'image/webp', 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz.webp'}}, 'image_meta': {'aperture': '0', 'credit': '', 'camera': '', 'caption': '', 'created_timestamp': '0', 'copyright': '', 'focal_length': '0', 'iso': '0', 'shutter_speed': '0', 'title': '', 'orientation': '0', 'keywords': []}}, 'post': None, 'source_url': 'https://saddle-world-online.de/wp-content/uploads/2022/08/ex_18-13_schwarz.webp', '_links': {'self': [{'href': 'https://saddle-world-online.de/wp-json/wp/v2/media/14449'}], 'collection': [{'href': 'https://saddle-world-online.de/wp-json/wp/v2/media'}], 'about': [{'href': 'https://saddle-world-online.de/wp-json/wp/v2/types/attachment'}], 'author': [{'embeddable': True, 'href': 'https://saddle-world-online.de/wp-json/wp/v2/users/1'}], 'replies': [{'embeddable': True, 'href': 'https://saddle-world-online.de/wp-json/wp/v2/comments?post=14449'}], 'wp:term': [{'taxonomy': 'media_folder', 'embeddable': True, 'href': 'https://saddle-world-online.de/wp-json/wp/v2/media_folder?post=14449'}], 'curies': [{'name': 'wp', 'href': 'https://api.w.org/{rel}', 'templated': True}]}}]
Python Version: 3.9.7
python-requests Version: 2.25.1
wenn das system keine agenten mag die keine echten browser sind , dann bekommst du kein ergebnis . z.b. weil keine cookies geschreiben werden können oder weil kein javascript laufen kann etc . gibt so einige gründe .
da muss man dann mit curl arbeiten .
Warum funktionieren dann die meisten Anfragen nur manche nicht?