दिलचस्प पोस्ट
मैं KeyUp पर टेक्स्टबॉक्स पोस्टबैक कैसे कर सकता हूं? जुड़ने और पंक्ति-आधारित सीमित (पेजिंग) के साथ सीतनिद्रा में विशिष्ट परिणाम कैसे प्राप्त करें? क्लास द्वारा jQuery का गिनती तत्व; इसे लागू करने का सबसे अच्छा तरीका क्या है? टूलटिप एरो के साथ एंड्रॉइड पॉपअप Window नापसंद अर्थ? PHP का उपयोग करके कई फाइल अपलोड कैसे करें एकाधिक पंक्तियों में ghci में फ़ंक्शन कैसे परिभाषित करें? XML पार्सिंग के लिए सर्वश्रेष्ठ नोड मॉड्यूल MediaPlayer setDataSource, पथ या FileDescriptor का उपयोग करने के लिए बेहतर है? मुझे जीसीएम सर्वर साइड से "बेमेल सेंडरआईडी" क्यों मिलता है? वेब पेज से एक्सेल करने के लिए टेबल कैसे निर्यात कर सकता हूं सी # में संपत्ति और परिवर्तनीय के बीच अंतर क्या है थ्रेड के उपयोग की तुलना करें। विलम्बित निष्पादन के लिए स्लीप और टाइमर क्या कोई भी सरल जावा वेब-ऐप फ्रेमवर्क सुझा सकता है? Python smtplib का उपयोग करके एकाधिक प्राप्तकर्ताओं को ईमेल कैसे भेजना है?

अजगर अनुरोधों को नकली ब्राउज़र विज़िट करने के लिए कैसे उपयोग करें?

मैं नीचे की वेबसाइट से सामग्री प्राप्त करना चाहता हूं यदि मैं फ़ायरफ़ॉक्स या क्रोम जैसे एक ब्राउज़र का उपयोग करता हूं तो मुझे वह असली वेबसाइट पृष्ठ मिल सकता है, जो मैं चाहता हूं, लेकिन अगर मैं इसे प्राप्त करने के लिए अजगर अनुरोध पैकेज (या wget कमांड) का उपयोग करता हूं, तो यह पूरी तरह से अलग HTML पृष्ठ देता है। मैंने सोचा था कि वेबसाइट के डेवलपर ने इसके लिए कुछ ब्लॉकों बना लिए थे, इसलिए सवाल है:

अजगर अनुरोधों या कमांड wget का उपयोग करके मैं ब्राउज़र की नकली कैसे जाली?

http://www.ichangtou.com/#company:data_000008.html

वेब के समाधान से एकत्रित समाधान "अजगर अनुरोधों को नकली ब्राउज़र विज़िट करने के लिए कैसे उपयोग करें?"

User-Agent शीर्षलेख प्रदान करें:

 import requests url = 'http://www.ichangtou.com/#company:data_000008.html' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'} response = requests.get(url, headers=headers) print(response.content) 

एफवाईआई, विभिन्न ब्राउज़र के लिए यूजर-एजेंट स्ट्रिंग की एक सूची है:

  • सभी ब्राउज़रों की सूची

एक साइड नोट के रूप में, नकली-यूजरएगेट नामक एक बहुत ही उपयोगी तृतीय-पक्ष पैकेज है जो उपयोगकर्ता एजेंटों के ऊपर एक अच्छा अमूर्त परत प्रदान करता है:

नकली UserAgent

वास्तविक विश्व डाटाबेस के साथ सरल यूजरएगेंट फैकर की तारीख

डेमो:

 >>> from fake_useragent import UserAgent >>> ua = UserAgent() >>> ua.chrome u'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36' >>> ua.random u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36' 

अगर यह प्रश्न अभी भी वैध है

मैंने फर्जी UserAgent का इस्तेमाल किया

कैसे इस्तेमाल करे:

 from fake_useragent import UserAgent import requests ua = UserAgent() print(ua.chrome) header = {'User-Agent':str(ua.chrome)} print(header) url = "https://www.hybrid-analysis.com/recent-submissions?filter=file&sort=^timestamp" htmlContent = requests.get(url, headers=header) print(htmlContent) 

आउटपुट:

 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17 {'User-Agent': 'Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36'} <Response [200]> 

फ़ायरफ़ॉक्स का प्रयोग फर्जी उपयोगकर्ता एजेंट के रूप में करने की कोशिश करें (इसके अलावा, यह कुकी के इस्तेमाल से वेब स्क्रैपिंग के लिए एक अच्छी स्टार्टअप स्क्रिप्ट है):

 #!/usr/bin/env python2 # -*- coding: utf8 -*- # vim:ts=4:sw=4 import cookielib, urllib2, sys def doIt(uri): cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) page = opener.open(uri) page.addheaders = [('User-agent', 'Mozilla/5.0')] print page.read() for i in sys.argv[1:]: doIt(i) 

उपयोग:

 python script.py "http://www.ichangtou.com/#company:data_000008.html" 

जवाब की जड़ यह है कि सवाल पूछने वाले व्यक्ति को जावास्क्रिप्ट अनुवादक की आवश्यकता है ताकि वह क्या हो जो बाद में हो। मैंने जो पाया है, मैं जावास्क्रिप्ट द्वारा व्याख्या किए जाने से पहले जेसन में एक वेबसाइट पर सभी जानकारी प्राप्त करना चाहता हूं। इसने मुझे एक टन का समय बचाया है, एचटीएमएल में प्रत्येक वेबपेज की उम्मीद में उसी प्रारूप में क्या होगा।

इसलिए जब आप अनुरोधों का उपयोग कर किसी वेबसाइट से प्रतिक्रिया प्राप्त करते हैं, तो वास्तव में html / text पर गौर करें क्योंकि आपको पार्स करने के लिए तैयार पाद लेख में जावास्क्रिप्ट JSON मिल सकता है।