python-3.x - 我正在尝试删除 python 中以 / 开头的文本行
问题描述
我正在尝试抓取一个网站,然后将链接保存到文本文件中。在文本文件中,我想删除任何不以“/”开头的行。我怎么能那样做?这是我到目前为止所拥有的一切:
import requests
from bs4 import BeautifulSoup
page = requests.get("https://wiki.stardewvalley.net/Stardew_Valley_Wiki")
soup = BeautifulSoup(page.content, 'html.parser')
wikilinks = []
for con in soup.find_all('div', class_="mainmenuwrapper"):
for links in soup.find_all('a', href=True):
if links.text:
wikilinks.append(links['href'])
# print(wikilinks)
with open('./scrapeNews/output.txt', 'w') as f:
for item in wikilinks:
f.write("%s\n" % item)
解决方案
您可以使用内置startswith()
方法检查链接是否以“/”开头。但是,由于除了链接之外还有其他信息,您可以过滤以仅编写以“http”开头的链接,而不是仅过滤“/”。
...
with open("./scrapeNews/output.txt", "w") as f:
for item in wikilinks:
if not str(item).startswith("http"):
continue
f.write("%s\n" % item)
推荐阅读
- c# - 未加载存储和 C# 程序集 dll 文件
- php - 扩展无法启用或安装的问题
- amazon-web-services - SageMaker:ClientError:train_lst 通道中缺少 .lst 文件。(自定义图像分类)
- powershell - 此版本的语言不支持“from”关键字
- c# - 单击时更改datagridview中的按钮文本
- sql - SQL:与其他方式相比,在单个 `id` 之前查询 `group_id` 是否更好?
- ruby - Azure DevOps 发布 - Ruby 脚本:所有内容都在 & 之后被剪切到一个秘密变量中
- coldfusion - 如何使用 cfscript 而不是 cfmail 构建复杂的电子邮件 - 模板加上保存在变量中的内容?
- html - 如何更改从顶部到列中文本的距离?
- javascript - 为什么我得到一些未定义的项目而不是排序数组?