मैं डेटा विश्लेषण सीखने के प्रयास के एक भाग के रूप में अपने आप से पायथन का उपयोग करके वेब स्क्रैपिंग सीखने की कोशिश कर रहा हूं। मैं imdb वेबपेज को देखने की कोशिश कर रहा हूं जिसका url निम्नलिखित है: http://www.imdb.com/search/title?sort=num_votes,desc&start=1&title_type=fiture&year=1950,2012
मैं ब्यूटीफुल मॉड्यूल का उपयोग कर रहा हूं। निम्नलिखित कोड मैं उपयोग कर रहा हूं:
r = requests.get(url) # where url is the above url
bs = BeautifulSoup(r.text)
for movie in bs.findAll('td','title'):
title = movie.find('a').contents[0]
genres = movie.find('span','genre').findAll('a')
genres = [g.contents[0] for g in genres]
runtime = movie.find('span','runtime').contents[0]
year = movie.find('span','year_type').contents[0]
print title, genres,runtime, rating, year
मुझे निम्नलिखित आउटपुट मिल रहे हैं:
The Shawshank Redemption [u'Crime', u'Drama'] 142 mins. (1994)
इस कोड का उपयोग करके, मैं शीर्षक, शैली, रनटाइम और वर्ष को परिमार्जन कर सकता हूं, लेकिन मैं imdb मूवी आईडी और न ही रेटिंग को परिमार्जन नहीं कर सकता। तत्वों (क्रोम ब्राउज़र में) का निरीक्षण करने के बाद, मुझे एक पैटर्न नहीं मिल रहा है, जो मुझे ऊपर दिए गए समान कोड का उपयोग करने देगा।
क्या कोई मुझे कोड का टुकड़ा लिखने में मदद कर सकता है जो मुझे फिल्म आईडी और रेटिंग्स को खत्म करने देगा?
rating
परिभाषित नहीं है। यदि आप इसे ठीक करते हैं, तो आप भी जोड़ सकते हैंfrom BeautifulSoup import BeautifulSoup
, औरimport requests
। और क्यों नहींurl="http://etc"
हम भी दिखाते हैं कि हमें अपने लिए ऐसा नहीं करना है?