मैंने कई स्क्रैपर्स लिखे हैं लेकिन मुझे सचमुच यकीन नहीं है कि अनंत स्क्रॉलर्स को कैसे संभालना है। इन दिनों अधिकांश वेबसाइट इत्यादि, फेसबुक, Pinterest में अनंत स्क्रोलर हैं।असीमित स्क्रॉलिंग के साथ स्क्रैप वेबसाइट
उत्तर
आप ट्विटर या फेसबुक जैसी अनंत स्क्रॉलिंग वेबसाइट को स्क्रैप करने के लिए सेलेनियम का उपयोग कर सकते हैं।
चरण 1: पिप
pip install selenium
चरण 2 का उपयोग कर सेलेनियम स्थापित करें: अनंत स्क्रॉल स्वचालित करने के लिए नीचे दिए गए कोड का उपयोग करें और स्रोत कोड
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import sys
import unittest, time, re
class Sel(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://twitter.com"
self.verificationErrors = []
self.accept_next_alert = True
def test_sel(self):
driver = self.driver
delay = 3
driver.get(self.base_url + "https://stackoverflow.com/search?q=stckoverflow&src=typd")
driver.find_element_by_link_text("All").click()
for i in range(1,100):
self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(4)
html_source = driver.page_source
data = html_source.encode('utf-8')
if __name__ == "__main__":
unittest.main()
चरण 3 निकालें: डेटा प्रिंट यदि आवश्यक हो।
क्या लूप का मतलब है कि हम 100 बार नीचे स्क्रॉल करते हैं? जहां 100 यादृच्छिक रूप से चुनी गई संख्या है। क्या वह सही है? –
@satarupa आप सही हैं लूप 100 बार नीचे स्क्रॉल करना है –
असीमित स्क्रॉलिंग (लेटीवेयर नोट्स के रूप में) की अधिकांश साइटें एक उचित एपीआई भी होती हैं, और आपको स्क्रैपिंग के बजाय इसका उपयोग करके बेहतर सेवा दी जाएगी।
लेकिन अगर आप को स्क्रैप करना होगा ...
ऐसी साइटों साइट से अतिरिक्त सामग्री का अनुरोध करने के लिए जब आप पृष्ठ के नीचे तक पहुँचने जावास्क्रिप्ट का उपयोग कर रहे हैं। आपको बस इतना करना है कि उस अतिरिक्त सामग्री के यूआरएल को समझें और आप इसे पुनः प्राप्त कर सकते हैं। आवश्यक यूआरएल को चित्रित करना, फ़ायरफ़ॉक्स वेब कंसोल का उपयोग करके, या debug proxy का उपयोग करके स्क्रिप्ट का निरीक्षण करके किया जा सकता है।
उदाहरण के लिए, फ़ायरफ़ॉक्स वेब कंसोल खोलें, नेट को छोड़कर सभी फ़िल्टर बटन बंद करें, और उस साइट को लोड करें जिसे आप स्क्रैप करना चाहते हैं। आप लोड की गई सभी फाइलें देखेंगे। वेब कंसोल देखते समय पृष्ठ को स्क्रॉल करें और आप अतिरिक्त अनुरोधों के लिए उपयोग किए जा रहे यूआरएल देखेंगे। फिर आप उस यूआरएल का खुद से अनुरोध कर सकते हैं और देख सकते हैं कि डेटा किस प्रारूप में है (शायद जेएसओएन) और इसे अपनी पायथन स्क्रिप्ट में प्राप्त करें।
को संभालने के कुछ उदाहरणों की ओर इशारा कर सकते हैं क्या आप इसे कैसे करना है इसका एक ठोस उदाहरण दे सकते हैं? – tatsuhirosatou
मैंने कुछ और विवरण जोड़ा है, उम्मीद है कि यह मदद करता है! – kindall
AJAX स्रोत का यूआरएल ढूँढना सबसे अच्छा विकल्प होगा लेकिन यह कुछ साइटों के लिए बोझिल हो सकता है। वैकल्पिक रूप से आप QWebKit
PyQt
से एक हेडलेस ब्राउज़र का उपयोग कर सकते हैं और डोम पेड़ से डेटा पढ़ने के दौरान कीबोर्ड ईवेंट भेज सकते हैं। QWebKit
में एक अच्छा और सरल एपीआई है।
- 1. स्क्रैप एक संपूर्ण वेबसाइट
- 2. एक गतिशील वेबसाइट स्क्रैप करें
- 3. स्क्रैप और एचटीएमएल में वेबसाइट कनवर्ट करें?
- 4. एनीमेशन के साथ स्क्रॉलिंग
- 5. मैं पर्ल के साथ स्क्रैप कैसे स्क्रीन कर सकता हूं?
- 6. phantomjs के साथ लिंक कैसे स्क्रैप करें
- 7. स्क्रैप
- 8. केवल एक div के अंदर स्क्रॉलिंग, जबकि वेबसाइट
- 9. स्क्रैप क्रॉलस्पीडर:
- 10. फेसबुक मेटा टैग लोकेल के साथ स्क्रैप किए गए
- 11. स्क्रॉलिंग
- 12. असीमित UIScrollView
- 13. स्क्रैप - पहले से स्क्रैप किए गए यूआरएल
- 14. असीमित तर्कों के साथ जावा विधि
- 15. असीमित चौड़ाई के साथ एक विस्तृत div
- 16. असीमित डोमेन, subsains certs startsl.com के साथ?
- 17. एंड्रॉइड समस्या: अंतहीन स्क्रॉलिंग के साथ देखें
- 18. एंड्रॉइड: वर्टिकल स्क्रॉलिंग टेक्स्ट के साथ टेक्स्टव्यू
- 19. क्षैतिज स्क्रॉलिंग के साथ div केवल
- 20. क्लिप के साथ ओवरस्क्रॉल स्क्रॉलिंग संकेतक पैडिंग
- 21. चिकना स्क्रॉलिंग के साथ चिपचिपा नेविगेशन
- 22. NodeJS जावास्क्रिप्ट के बाद वेबसाइट स्क्रैप मूल्यों के लोड होते ही
- 23. स्क्रॉलिंग
- 24. स्क्रैप ऐसा नहीं लगता है डीएफओ
- 25. पायथन में स्क्रैप फेसबुक
- 26. नोड.जेएस स्क्रैप एन्कोडिंग?
- 27. जावास्क्रिप्ट समर्थन के साथ स्क्रीन-स्क्रैप करने के लिए एक अच्छा टूल क्या है?
- 28. स्क्रॉलिंग
- 29. असीमित के लिए लूप
- 30. मैं वेबसाइट
यहां आपकी सबसे अच्छी शर्त उन साइट के एपीआई का उपयोग करना है - जो अब तक का सबसे आसान और सबसे विश्वसनीय विकल्प होगा। इसके अलावा, आपको जावास्क्रिप्ट को संसाधित करना होगा, जिसका मूल रूप से एक पूर्ण ब्राउज़र चलाना है - ऐसे पुस्तकालय मौजूद हैं। –
सिमुलेशन की तरह लगता है, क्या आप jscript –