【发布时间】:2020-07-05 11:10:37
【问题描述】:
我有一个列表,其中包含许多推文的 URL,例如https://twitter.com/EmilBakke/status/1264250412120649729 从此列表中的每条推文中,我想将图像 URL(例如https://pbs.twimg.com/media/EYuFC_PX0AA6_KB?format=jpg&name=small)提取到 URL 列表中,然后将图像从图像 URL 下载到我的本地计算机。理想情况下,图片的文件名应该是图片链接到的推文 ID。
我没有使用 Twitter API 来获取推文 URL 列表,因此我无法使用媒体实体,并且不知道特定推文是否包含图像。
我最初的想法是使用 BeautifulSoup 来获取图像 URL。我发现图像 URL 包含在这个 HTML sn-p 中:
<img alt="Image" draggable="true" src="https://pbs.twimg.com/media/EYuFC_PX0AA6_KB?format=jpg&amp;name=small" class="css-9pa8cd" title="" style=""> 但是,我似乎无法实际将 URL 提取到列表中。
这是我目前所拥有的:
from bs4 import BeautifulSoup
import re
html_page = urlopen("https://twitter.com/EmilBakke/status/1264250412120649729").read()
soup = BeautifulSoup(html_page)
for link in soup.findAll('img class', attrs={'src': re.compile("^https://")}):
print(link.get('src'))
运行此程序不会返回任何内容,但我无法弄清楚我做错了什么。另外,我需要找到一种方法来遍历链接列表中的所有链接。我们将不胜感激!
【问题讨论】:
-
我认为你应该 findAll just img,而不是 'img class'。
-
感谢您的回答!但这也不会返回任何东西。
标签: python