使用beautifulsoup 4提取URL

时间:2014-02-24 12:41:16

标签: python beautifulsoup

我正在尝试使用BS4提取网址,我可以到达正确的位置,但我不确定如何从网址中删除''标记。我尝试添加.text然而这只是没有返回。

vid_screenshot = (soup('a', {'class':'mp4Thumb'}))[0].contents[0]

>> <img src="www.fgfg.com/dsfasdf.jpg"/>

desired result
>> www.fgfg.com/dsfasdf.jpg

没有用,什么都没回来。

(soup('a', {'class':'mp4Thumb'}))[0].contents[0].text

有人知道如何剥离这些标签..?

1 个答案:

答案 0 :(得分:2)

您拥有HTML标记,需要使用src属性:

vid_screenshot = soup('a', {'class':'mp4Thumb'})[0].contents[0]
vid_screenshot_src = wid_screenshot['src']

这假设标签上始终存在src属性。如果该属性不存在,您还可以使用.get()方法返回None

vid_screenshot = soup('a', {'class':'mp4Thumb'})[0].contents[0]
vid_screenshot_src = wid_screenshot.get('src')

或者如果属性丢失,您可以给.get()第二个参数返回:

vid_screenshot = soup('a', {'class':'mp4Thumb'})[0].contents[0]
vid_screenshot_src = wid_screenshot.get('src', 'default value')

请参阅Attributes documentation section