मैं कुछ पाइथन कोड पर काम कर रहा हूं ताकि सरकारी वेबसाइटों से सोशल मीडिया खातों के लिंक प्राप्त हो सकें, जिससे आसानी से अनुसंधान के लिए नगर पालिकाओं से संपर्क किया जा सके। मैंने 2.7 में काम करने के लिए कुछ कोड अनुकूलित करने में कामयाब रहा है, जो किसी दिए गए इनपुट वेबसाइट पर फेसबुक, ट्विटर, लिंक्डइन और google + के सभी लिंक प्रिंट करता है। जिस मुद्दे का मैं वर्तमान में अनुभव कर रहा हूं वह यह है कि मैं केवल एक वेब पेज पर लिंक नहीं ढूंढ रहा हूं, लेकिन लगभग 200 वेबसाइटों की सूची में, मेरे पास एक्सेल फ़ाइल में है। मुझे पाइथन में इस तरह के सूचियों को आयात करने का कोई अनुभव नहीं है, इसलिए मैं सोच रहा था कि कोई भी कोड को देख सकता है, और यदि संभव हो तो इन सभी वेब पृष्ठों को base_url के रूप में सेट करने का एक उचित तरीका सुझाएं;वेब स्क्रैपर में कई वेब पेजों का उपयोग
import cookielib
import mechanize
base_url = "http://www.amsterdam.nl"
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_robots(False)
br.set_handle_equiv(False)
br.set_handle_redirect(True)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent',
'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
page = br.open(base_url, timeout=10)
links = {}
for link in br.links():
if link.url.find('facebook')>=0 or link.url.find('twitter')>=0 or link.url.find('linkedin')>=0 or link.url.find('plus.google')>=0:
links[link.url] = {'count': 1, 'texts': [link.text]}
# printing
for link, data in links.iteritems():
print "%s - %s - %s - %d" % (base_url, link, ",".join(data['texts']), data['count'])
ठीक है, यह समझ में आता है, बस सूची में सभी लिंक जोड़ने के लिए, धन्यवाद। आपके कोड के साथ मुझे मिली एक त्रुटि दी गई है; 'ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल" सी: \ उपयोगकर्ता \ स्टीफन \ दस्तावेज़ \ अनुसंधान परियोजना जीआरएस 50806 \ पूर्ववर्ती डेटा \ टेस्ट - kopie.py ", लाइन 11, डेटा.लिंक्स (सूची (csv_reader)) नाम त्रुटि: नाम 'डेटा' परिभाषित नहीं किया गया है ' क्या डेटा को वैध वाक्यविन्यास के रूप में परिभाषित करने का कोई तरीका है? –
@ स्टीफनफोर्च मेरे बुरे, जब मैंने जवाब संपादित किया तो मैंने सूची 'लिंक' के सभी उदाहरणों को संपादित नहीं किया। मैं इसे अभी संपादित कर रहा हूं। उस पंक्ति में रिक्त सूची के लिंक की सूची जोड़ना है जिसे हमने पहले बाद में उपयोग करने के लिए परिभाषित किया था। – Bhargav
ठीक है, बहुत बहुत धन्यवाद, कोड जो सीएसवी-फाइल से किसी सूची में आइटम जोड़ता है, काम करता है, क्योंकि 'प्रिंट सूचियां' देता है '[[http://www.amsterdam.nl/', 'http : //www.rotterdam.nl/ ',' http://www.denhaag.nl/ ',' http://www.utrecht.nl ']] '। हालांकि, पूरे कोड का उपयोग करते समय, यह बस चलाने के लिए प्रतीत नहीं होता है। मुझे लगता है कि यह लिंक प्रारूप के साथ कुछ करने के लिए हो सकता है, हालांकि, मुझे नहीं लगता कि दस्तावेज़ को प्रारूपित किया जाना चाहिए, उदा। उद्धरण चिह्नों का उपयोग किया जाना चाहिए, क्या यह एक स्तंभ में मूल्यों के साथ एक सूची होनी चाहिए, आदि? –