關於(Extracting a URL in Python)我有一個後續問題。注意:我是SO和Python的新手,所以請隨時糾正我的禮節。使用Python在文本中查找超鏈接(後續到另一篇文章)
從我上面的帖子拉正則表達式,這正常工作對我來說:
myString = """ <iframe width="640" height="390" src="http://www.youtube.com/embed/24WIANESD7k?rel=0" frameborder="0" allowfullscreen></iframe> """
print re.search("(?P<url>https?://[^\s]+)", myString).group("url")
但是我真正需要做的是通過我以前從數據庫中檢索的數據集循環。所以我做了下面,這給了我一個奇怪的錯誤,也在下面。
# Note: "data" here is actually a list of strings, not a data set
for pseudo_url in data:
print re.search("(?P<url>https?://[^\s]+)", str(pseudo_url)).group("url")
錯誤:
Traceback (most recent call last):
File "find_and_email_bad_press_urls.py", line 136, in <module>
main()
File "find_and_email_bad_press_urls.py", line 14, in main
scrubbed_urls = extract_urls_from_raw_data(raw_url_data)
File "find_and_email_bad_press_urls.py", line 47, in extract_urls_from_raw_data
print re.search("(?P<url>https?://[^\s]+)", str(pseudo_url)).group("url")
AttributeError: 'NoneType' object has no attribute 'group'
當我谷歌這個我發現噸無關的帖子,所以我希望能SO一些啓發。我的直覺是,正則表達式正在炸燬一些空數據,特殊字符等,但我對Python的瞭解還不夠多。投射到一個字符串也沒有幫助。
任何想法或解決方案,通過這將是非常感謝!
我建議你嘗試BeautifulSoup模塊從HTML頁面中抓取數據。你的錯誤說正則表達式沒有返回任何匹配,因此沒有'group'屬性的'None'對象。 – Blender