मैं इस साइट से सीएसएस चयनकर्ताओं के साथ तारीखों तक पहुंचने का प्रयास कर रहा हूं लेकिन यह मुझे अनुमति नहीं दे रहा है। मुझे यह त्रुटि मिलती रहती है: विशेषता त्रुटि: 'कोई नहीं' ऑब्जेक्ट में कोई विशेषता नहीं है 'चयन करें'

import requests
from bs4 import BeautifulSoup
page = requests.get("https://www.accuweather.com/en/us/san- 
antonio/78205/daily-weather-forecast/351198")
soup = BeautifulSoup(page.content, 'html.parser')
daily = soup.find(class_="content-module")
period_tags = daily.select(".date .dow")
periods = [pt.get_text() for pt in period_tags]
periods

मुझे उम्मीद है कि आउटपुट मुझे वेबपेज पर सूची के रूप में प्रत्येक दिन देगा

1
cinnarolla 27 अक्टूबर 2019, 05:49

1 उत्तर

सबसे बढ़िया उत्तर

मुझे केवल एक उपयोगकर्ता-एजेंट शीर्षलेख की आवश्यकता थी। हालांकि, सामग्री गतिशील रूप से उत्पन्न होती है, इसलिए आपके अनुरोध प्रतिक्रिया एचटीएमएल वेब पेज के समान नहीं होगा जहां जावास्क्रिप्ट चल सकता है। आप रेगेक्स का उपयोग करके प्रतिक्रिया में script टैग से आवश्यक जानकारी निकाल सकते हैं और फिर जेसन पार्सर के साथ पार्स कर सकते हैं

import requests, re , json

headers = {'User-Agent': 'Mozilla/5.0'}
r = requests.get('https://www.accuweather.com/en/us/san-%20antonio/78205/daily-weather-forecast/351198', headers=headers)
p = re.compile(r'var dailyForecast = (.*);')
data = json.loads(p.findall(r.text)[0])
#print(data)
forecasts = {i['dow'] + ' - ' + i['date']:i['day'] for i in data}
print(forecasts)
dows  = [i['dow'] for i in data]
print(dows)
0
QHarr 27 अक्टूबर 2019, 07:52