basicInfo = {
"details": basicSoup.select_one('.basics-description .basics-text').getText(),
"dose": basicSoup.select_one('.basics-description .basics-dose').getText(),
"price": basicSoup.select_one('.basics-description .basics-price').getText(),
"chemistry": basicSoup.select_one('.basics-description .basics-chemistry').getText(),
"law": basicSoup.select_one('.basics-description .basics-law').getText(),
"pharmacology": basicSoup.select_one('.basics-description .basics-pharmacology').getText(),
"production": basicSoup.select_one('.basics-description .basics-production').getText(),
"history": basicSoup.select_one('.basics-description .basics-history').getText(),
"terminology": basicSoup.select_one('.basics-description .basics-terminology').getText(),
"effects": {
"text": basicSoup.select_one('.basics-effects .basics-text').getText(),
"onset": basicSoup.select_one('.basics-effects .basics-onset').getText(),
"duration": basicSoup.select_one('.basics-effects .basics-duration').getText(),
"visuals": basicSoup.select_one('.basics-effects .basics-visuals').getText(),
"crash": basicSoup.select_one('.basics-effects .basics-crash').getText(),
"hangover": basicSoup.select_one('.basics-effects .basics-hangover').getText(),
},
"problems": {
"text": basicSoup.select_one(".basics-problems > .basics-text").getText(),
}
}
I'm trying to figure out what the equivalent of JavaScript's object?.method()
is in Python because some pages don't have the information that other pages do so when BeautifulSoup goes to look for them it throws an error.
File "./chemicalScrape.py", line 48, in <module>
"crash": basicSoup.select_one('.basics-effects .basics-crash').getText(),
AttributeError: 'NoneType' object has no attribute 'getText'