2012-07-12 18 views
9

स्क्रैप करने का मैं विश्लेषण करने के लिए कैसे पत्रिका लेख उद्धृत किया जाता है एक परियोजना पर काम कर रहा हूँ टो और अजगर का उपयोग करना। मेरे पास जर्नल आलेख नामों की एक बड़ी फाइल है। मैं उन्हें Google विद्वान को पास करने का इरादा रखता हूं और देखता हूं कि प्रत्येक के पास कितने उद्धरण हैं।गूगल स्कॉलर

  1. http://www.icir.org/christian/scholar.html से उपयोग "scholar.py":

    यहाँ रणनीति मैं निम्नलिखित कर रहा हूँ। यह एक पूर्व लिखित पायथन लिपि है जो Google विद्वान की खोज करता है और सीएसवी प्रारूप में पहली हिट पर जानकारी देता है (उद्धरणों की संख्या सहित)

  2. Google विद्वान आपको कुछ निश्चित खोजों के बाद ब्लॉक करता है (मेरे पास लगभग 3000 लेख शीर्षक हैं क्वेरी)। मैं ने पाया है कि ज्यादातर लोगों को टो (How to make urllib2 requests through Tor in Python? और Prevent Custom Web Crawler from being blocked) का उपयोग इस समस्या को हल करने के लिए। टोर एक ऐसी सेवा है जो आपको हर कुछ मिनटों में यादृच्छिक आईपी पता देती है।

मैं scholar.py और टो दोनों सफलतापूर्वक और काम करने के लिए सेट है। मैं अजगर या लाइब्रेरी urllib2 साथ बहुत परिचित नहीं हूँ और आश्चर्य क्या संशोधनों तो scholar.py है कि प्रश्नों टो के माध्यम से रूट किया जाता है की जरूरत है।

मैं भी बड़े पैमाने पर गूगल स्कॉलर प्रश्नों के लिए एक आसान (और संभवत: काफी अलग) दृष्टिकोण, यदि कोई मौजूद के लिए सुझाव के लिए उत्तरदायी है। उपयोग करने के लिए टीओआर setting up a local proxy like polipo है सबसे अच्छा तरीका अग्रिम

उत्तर

1

मेरे लिए में

धन्यवाद। मैं रेपो क्लोन और स्थानीय स्तर पर संकलित करने के लिए की तरह है:

git clone https://github.com/jech/polipo.git 
cd polipo 
make all 
make install 

लेकिन आप अपने पैकेज प्रबंधक (मैक में brew install polipo, apt install polipo Ubuntu पर) का उपयोग कर सकते हैं।

echo socksParentProxy=localhost:9050 > ~/.polipo 
echo diskCacheRoot='""' >> ~/.polipo 
echo disableLocalInterface=true >> ~/.polipo 

तो इसे चलाने:

polipo 

देखें urllib docs on how to use a proxy फिर एक सरल कॉन्फ़िग फ़ाइल लिखें।

export http_proxy="http://localhost:8123" 
export https_proxy="http://localhost:8123" 

मैं अनुरोध पुस्तकालय, urllib के लिए एक अच्छे आवरण का उपयोग करना चाहते: कई यूनिक्स अनुप्रयोगों की तरह, urllib वातावरण चर http_proxy का सम्मान करेगा। आप यह पहले से ही नहीं है, तो:

pip install requests 

urllib टो उपयोग कर रहा है के बाद एक-लाइनर यह सच है मुद्रित करना चाहिए:

python -c "import requests; print('Congratulations' in requests.get('http://check.torproject.org/').text)" 

अंतिम बात, सावधान रहना: टो नेटवर्क एक मुफ्त पास नहीं है इंटरनेट पर बेवकूफ चीजें करने के लिए क्योंकि इसका उपयोग करने से आपको यह नहीं मानना ​​चाहिए कि आप पूरी तरह अज्ञात हैं।

+0

पहला लिंक अब मान्य नहीं है – chrisfs

+0

लिंक सड़ांध, यही कारण है कि लिंक केवल जवाब बेकार है ... मुझे जवाब में निर्देश शामिल करना चाहिए, दुर्भाग्य से मुझे अभी यह करने का समय नहीं है, क्षमा करें। –

+0

लिंक वापस ऊपर अब – user3791372

संबंधित मुद्दे