【发布时间】:2021-04-12 08:55:07
【问题描述】:
当我从网站上抓取内容时,一些链接点在 src 标记中有 HTTP,为此我添加了此代码
from bs4 import BeautifulSoup
html = """
<div class="answer-given-body ugc-base">
<p><img alt="" src="//d2vlcm61l7u1fs.cloudfront.net/media%2F61d%2F61d6042d-e4dd-41d9-9a5c-0ceb481ddbc9%2FphpKFGb9B.png"/><img alt="" src="//d2vlcm61l7u1fs.cloudfront.net/media%2Fd72%2Fd72dfa6c-8e50-475a-86cf-678a04ae4606%2FphpQZYPYo.png"/><img alt="" src="//d2vlcm61l7u1fs.cloudfront.net/media%2F4c7%2F4c775a01-8590-4b93-bc20-03d282586f95%2FphpE7XFWI.png"/></p>
</div>
"""
soup = BeautifulSoup(html, "html.parser")
# Select all the `img` tags
for tag in soup.select(".answer-given-body.ugc-base img"):
tag["src"] = "https:" + tag["src"]
print(soup.prettify())
但是有些链接有 HTTP: 在 src 然后这段代码也再次添加 HTTP 到那个链接看这个:
from bs4 import BeautifulSoup
html = """
<div class="answer-given-body ugc-base">
<p><img alt="" src="//d2vlcm61l7u1fs.cloudfront.net/media%2F61d%2F61d6042d-e4dd-41d9-9a5c-0ceb481ddbc9%2FphpKFGb9B.png"/><img alt="" src="https://d2vlcm61l7u1fs.cloudfront.net/media%2Fd72%2Fd72dfa6c-8e50-475a-86cf-678a04ae4606%2FphpQZYPYo.png"/><img alt="" src="//d2vlcm61l7u1fs.cloudfront.net/media%2F4c7%2F4c775a01-8590-4b93-bc20-03d282586f95%2FphpE7XFWI.png"/></p>
</div>
"""
soup = BeautifulSoup(html, "html.parser")
# Select all the `img` tags
for tag in soup.select(".answer-given-body.ugc-base img"):
tag["src"] = "https:" + tag["src"]
print(soup.prettify())
所以我需要把 if 条件放在那里,但我不知道如何添加请帮助我之前谢谢
【问题讨论】:
-
if 'http' in string:这行得通吗?
标签: python html beautifulsoup python-requests python-requests-html