python - Extracting url from style: background-url: with beautifulsoup and without regex? -


मेरे पास:

  
div class = "image" style = "background- छवि: url ('/ अपलोड / चित्र / खिलाड़ियों / 16113-1399107741.jpeg'); "

मुझे यूआरएल प्राप्त करना है, हालांकि मैं कैसे नहीं कर सकता regex के उपयोग के बिना ऐसा करना क्या यह संभव है?

अब तक मेरा समाधान regex के साथ है:

  url = re.findall ('\ (' (*। *) '' \) ', सूप ['शैली']) [0]  

आप पैकेज का उपयोग करने का प्रयास कर सकते हैं। इस तरह से कुछ काम करना चाहिए:

  bs4 आयात से आयात cssutils BeautifulSoup html = "" "div class =" image "style =" background-image: url ('/ uploads / images / खिलाड़ियों / 16113-139 9107741.jpeg '); "" "सूप = खूबसूरत सूप (html) div_style = सूप। (' Div ') [' शैली '] शैली = cssutils.parseStyle (div_style) url = style [ 'पृष्ठभूमि-छवि']> gt; & gt; & gt; Url u'url (/uploads/images/players/16113-1399107741.jpeg) '& gt; & gt; & gt; Url = url.replace ('url (', '') .replace (')', '') # या regex / split / find / slice etc. & gt; & gt; & gt; यूआरएल यू '/ अपलोड्स / इमेज / प्लेयर्स / 16113-1399107741.jpeg'  

यद्यपि आप को वास्तविक यूआरएल को पार्स करने की ज़रूरत है, लेकिन इस विधि में परिवर्तनों के लिए अधिक लचीला होना चाहिए एचटीएमएल। यदि आप वास्तव में स्ट्रिंग हेरफेर और रेगेक्स को नापसंद करते हैं, तो आप यूआरएल को इस चौराहे से बाहर खींच सकते हैं:

  sheet = cssutils.css.CSSStyleSheet () sheet.add ("dummy_selector {% s}" % Div_style) url = list (cssutils.getUrls (शीट)) [0] & gt; & gt; & gt; Url u '/ अपलोड / चित्र / खिलाड़ी / 16113-1399107741.jpeg'  

Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -