这里是div:
import { getAppContext, updateAppContext, onAppContextUpdate } from 'content.js';
// read foo
let foo = getAppContext('foo');
// update foo
updateAppContext('foo', 123);
// get notified when foo is updated
let removeListener = onAppContextUpdate('foo', function(newVal, oldVal) {
console.log(newVal, oldVal);
});
// unlisten
removeListener();
我将<div class="theoplayer-poster" style="z-index: 1; display: inline-block; vertical-align: middle; background-repeat: no-repeat; background-position: 50% 50%; background-size: contain; cursor: pointer; margin: 0px; padding: 0px; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; height: 100%; background-image: url("//cdn.cnn.com/cnnnext/dam/assets/180424173851-ten-0425-00011501-exlarge-169.jpg");"></div>
放入字符串中。
这就是我的尝试:
url("//cdn.cnn.com/cnnnext/dam/assets/180424173851-ten-0425-00011501-exlarge-169.jpg")
然而,这导致def cnn_get_thumb(cnn_url):
page = urlopen(cnn_url)
soup = BeautifulSoup(page, 'html.parser')
img = soup.find('div', class_="theoplayer-poster")['style':'url']
img = title.text.strip()
return img
。任何帮助将不胜感激!
答案 0 :(得分:3)
我认为您的主要问题是您指定的网址不包含该名称的div类。以下代码适用于URL的内容,希望它足以解释如何解析您想要的内容。
仅供参考,汤的快速打印将为您提供所有文本,将其发送到剪贴板,放入可以突出显示文本的编辑器中并搜索您之后的网址。导航回看div类等。
同样重新进行JS解析 - urlopen不会为你解析JS - 只有浏览器对象会这样做。如果你的字符串需要JS解析将它插入到dom中我怀疑你运气不好。
from urllib import urlopen
from bs4 import BeautifulSoup
# example div
# <div class="js-gigya-sharebar gigya-sharebar" data-description="April 25, 2018" data-image-src="//cdn.cnn.com/cnnnext/dam/assets/180424173851-ten-0425-00011501-super-tease.jpg" data-isshorturl="true" data-link="https://cnn.it/2HVJmx0" data-subtitle="" data-title="CNN 10 - April 25, 2018" data-twitter-account="CNN"></div>
def cnn_get_thumb(cnn_url):
page = urlopen(cnn_url)
soup = BeautifulSoup(page, 'html.parser')
img = soup.find('div', class_="js-gigya-sharebar")['data-image-src']
return img
print cnn_get_thumb("http://cnn.com/2018/04/24/cnn10/ten-content-weds/index.html")