Ich habe eine ähnliche question vorher gepostet. Ich habe versucht, ein web page mit dem folgenden Ansatz zu kratzenIch kann keine Webseite mit Python scannen
import requests
url = 'https://www.zameen.com/'
res = requests.get(url)
data = res.text
print(data)
Seine Antwort sagt, ich bin entweder ein BOT oder Javascript nicht aktiviert ist. Also, ich habe überprüft, aber Javascript ist aktiviert. Also versuchte ich einen anderen Ansatz der Verwendung von gefälschten User-Agent mit dem folgenden Code
from fake_useragent import UserAgent
headers = {}
headers['User-Agent'] = str(ua.chrome)
web_page = requests.get(url,headers=headers)
print(web_page.content)
Antwort:
b'<!DOCTYPE html>\n\n\t\n\n\t\n\t\n\t\n\n\t\n\t\n\n\t\n\t\n\t\n\n<head>\n<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">\n<meta http-equiv="cache-control" content="max-age=0" />\n<meta http-equiv="cache-control" content="no-cache" />\n<meta http-equiv="expires" content="0" />\n<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />\n<meta http-equiv="pragma" content="no-cache" />\n<meta http-equiv="refresh" content="10; url=/distil_r_captcha.html?Ref=/&distil_RID=053235A2-0030-11E7-8429-B03805AB611E&distil_TID=20170303163950" />\n<script type="text/javascript">\n\t(function(window){\n\t\ttry {\n\t\t\tif (typeof sessionStorage !== \'undefined\'){\n\t\t\t\tsessionStorage.setItem(\'distil_referrer\', document.referrer);\n\t\t\t}\n\t\t} catch (e){}\n\t})(window);\n</script>\n<script type="text/javascript" src="/ga368490.js" defer></script><style type="text/css">#d__fFH{position:absolute;top:-5000px;left:-5000px}#d__fF{font-family:serif;font-size:200px;visibility:hidden}#caexxxzxycbzutyvy{display:none!important}</style></head>\n<body>\n<div id="distil_ident_block"> </div>\n</body>\n</html>\n'
Es wieder erkannt mich wie ein Roboter. Also überprüfte ich, ob ich die Daten von der Website abrufen kann oder nicht. Dann habe ich robotparser von urllib
from urllib import robotparser
req = robotparser.RobotFileParser()
req.set_url(url)
req.read()
print(req.can_fetch('*','https://www.zameen.com/'))
Returns:
TRUE # Means I can fetch the data from the website.
Gibt es eine Möglichkeit die Daten von dieser Web-Seite zu bekommen? Danke
Bitte überprüfen Sie diese Antwort: http: // Stackoverflow .com/questions/8049520/web-scraping-javascript-page-with-python – foobar
Ich bin mir nicht sicher, was passiert. Ich habe versucht mit mechanize und setze robots_handle auf falsch, aber aus irgendeinem Grund gab es 405 Fehler. Gleich mit Anfragen bekomme ich 405 Fehler – Shashank
Ich sollte nur beachten, dass die Website in Frage will nicht von Bots besucht werden, über die Meta-Tag in der Antwort gefunden: ' ' –