在 imgur 上获取 URL 张图片
Getting URL of a picture on imgur
我正在尝试自动执行下载 imgur 文件的过程,为此我正在使用 beautifulsoup 来获取 link 但是老实说,我很不明白为什么这不会'行不通,根据我的研究,它应该:
soup = BeautifulSoup("http://imgur.com/ha0WYYQ")
imageUrl = soup.select('.image a')[0]['href']
上面的代码只是 returns 一个空列表,因此是一个错误。我试图修改它,但无济于事。感谢任何和所有输入。
<div class="post-image">
<a href="//i.imgur.com/ha0WYYQ.jpg" class="zoom">
<img src="//i.imgur.com/ha0WYYQ.jpg" alt="Frank in his bb8 costume" itemprop="contentURL">
</a>
</div>
这是图片标签,"post-image"
是一个单词,不能分开。
imageUrl = soup.select('.post-image a')[0]['href']
select 一个标签的快捷方式:
imageUrl = soup.select_one('.post-image a')['href']
要解析文档,请将其传递给 BeautifulSoup 构造函数。您可以传入 string 或 open filehandle:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("index.html"))
soup = BeautifulSoup("<html>data</html>")
您的方法有一些问题:
BeautifulSoup
不 期望 url,因此您需要先使用库来获取 HTML 流;和
- 根据我所见,您的选择器似乎无效,应该是
.post-image a
。
<b>r = urllib.urlopen('http://imgur.com/ha0WYYQ').read()</b>
soup = BeautifulSoup(<b>r,'lxml'</b>)
soup.select('<b>.post-image</b> a')[0]['href']
或者更优雅:
<b>with urllib.urlopen('http://imgur.com/ha0WYYQ') as f:</b>
r = f.read()
soup = BeautifulSoup(r,'lxml')
result = soup.select('.post-image a')[0]['href']
我正在尝试自动执行下载 imgur 文件的过程,为此我正在使用 beautifulsoup 来获取 link 但是老实说,我很不明白为什么这不会'行不通,根据我的研究,它应该:
soup = BeautifulSoup("http://imgur.com/ha0WYYQ")
imageUrl = soup.select('.image a')[0]['href']
上面的代码只是 returns 一个空列表,因此是一个错误。我试图修改它,但无济于事。感谢任何和所有输入。
<div class="post-image">
<a href="//i.imgur.com/ha0WYYQ.jpg" class="zoom">
<img src="//i.imgur.com/ha0WYYQ.jpg" alt="Frank in his bb8 costume" itemprop="contentURL">
</a>
</div>
这是图片标签,"post-image"
是一个单词,不能分开。
imageUrl = soup.select('.post-image a')[0]['href']
select 一个标签的快捷方式:
imageUrl = soup.select_one('.post-image a')['href']
要解析文档,请将其传递给 BeautifulSoup 构造函数。您可以传入 string 或 open filehandle:
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("index.html"))
soup = BeautifulSoup("<html>data</html>")
您的方法有一些问题:
BeautifulSoup
不 期望 url,因此您需要先使用库来获取 HTML 流;和- 根据我所见,您的选择器似乎无效,应该是
.post-image a
。
<b>r = urllib.urlopen('http://imgur.com/ha0WYYQ').read()</b>
soup = BeautifulSoup(<b>r,'lxml'</b>)
soup.select('<b>.post-image</b> a')[0]['href']
或者更优雅:
<b>with urllib.urlopen('http://imgur.com/ha0WYYQ') as f:</b>
r = f.read()
soup = BeautifulSoup(r,'lxml')
result = soup.select('.post-image a')[0]['href']