我正在使用beautifulsoup来解析“www.youtube.com”中存在的所有img标签
代码是
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://www.youtube.com/')
soup = BeautifulSoup(page)
tags=soup.findAll('img')
但是我没有得到所有的img标签。获取img标签也是无效的。
解析后得到的img标签与页面源img标签不同。缺少某些属性。
我需要在youtube.com上获取所有视频img标记
请帮忙
答案 0 :(得分:4)
我在这里尝试时似乎工作
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://www.youtube.com/')
soup = BeautifulSoup(page)
tags=soup.findAll('img')
print "\n".join(set(tag['src'] for tag in tags))
生成这个看起来不错的
http://i1.ytimg.com/vi/D9Zg67r9q9g/market_thumb.jpg?v=723c8e
http://s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif
//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif
/gen_204?a=fvhr&v=mha7pAOfqt4&nocache=1337083207.97
http://i3.ytimg.com/vi/fNs8mf2OdkU/market_thumb.jpg?v=4f85544b
http://i4.ytimg.com/vi/CkQFjyZCq4M/market_thumb.jpg?v=4f95762c
http://i3.ytimg.com/vi/fzD5gAecqdM/market_thumb.jpg?v=b0cabf
http://i3.ytimg.com/vi/2M3pb2_R2Ng/market_thumb.jpg?v=4f0d95fa
//i2.ytimg.com/vi/mha7pAOfqt4/hqdefault.jpg
答案 1 :(得分:2)
我遇到了类似的问题。我无法找到所有图像。所以这里是一段代码,它将为您提供图像标记的任何属性值。
$ ./getquotePy.py AAPL GOOGL
AAPL,174.5342,2017-11-07 17:21:28,0.1630961,19905458,173.60 - 173.60
GOOGL,1048.6753,2017-11-07 17:21:22,0.5749836,840447,1043.00 - 1043.00
答案 2 :(得分:0)
明确使用soup.findAll(name='img')
为我工作,我似乎没有遗漏任何内容。
答案 3 :(得分:0)
def grabimagetags():
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://www.youtube.com/')
soup = BeautifulSoup(page)
tags = soup.findAll('img')
list.extend(set(tag['src'] for tag in tags))
return list
grabimagetags()
我只会进行此更改,以便您可以传递img标记列表
答案 4 :(得分:0)
在我的情况下,某些图像不包含src
。
所以我这样做是为了避免keyError
异常:
art_imgs = set(img['src'] for img in article.find_all('img') if img.has_attr('src'))
答案 5 :(得分:0)
尝试一下。
from simplified_scrapy import SimplifiedDoc, req
url = 'https://www.youtube.com'
html = req.get(url)
doc = SimplifiedDoc(html)
imgs = doc.listImg(url = url)
print([img.url for img in imgs])
imgs = doc.selects('img')
for img in imgs:
print (img)
print (doc.absoluteUrl(url,img.src))