我现在正在使用美丽的汤来解析网页,我听说它很有名,很好,但看起来效果不好.
这就是我做的
import urllib2
from bs4 import BeautifulSoup
page = urllib2.urlopen("http://www.cnn.com/2012/10/14/us/skydiver-record-attempt/index.html?hpt=hp_t1")
soup = BeautifulSoup(page)
print soup.prettify()
Run Code Online (Sandbox Code Playgroud)
我觉得这很简单.我打开网页并将其传递给beautifulsoup.但这就是我得到的:
Warning (from warnings module):
File "C:\Python27\lib\site-packages\bs4\builder\_htmlparser.py", line 149
"Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help."))
...
HTMLParseError: bad end tag: u'</"+"script>', at line 634, column 94
我认为CNN网站应该设计得很好,所以我不太清楚会发生什么.有没有人对此有所了解?
我正在尝试编写一个脚本,它将重命名和存档日志文件,但我无法弄明白.下面是一个如何工作的示例:如果您有一个名为error_log的文件,并且您第一次运行脚本,则应将文件error_log重命名为error_log.1,然后error_log.1使用gzip 进行存档.第二次运行脚本时,您将有两个文件:error_log error_log.1.gz,现在您应该重命名error_log.1.gz为error_log.2.gz; error_log到error_log.1并再次存档error_log.1到error_log.1.gz用gzip.
我有文件 .config 行:
projdir name_of_the_projdir
我需要用我自己的变量替换 name_of_the_projdir 。我尝试这样做
sed -i 's/^projdir .*$/projdir '$projdir'/' .le/.config
Run Code Online (Sandbox Code Playgroud)
但我收到错误
sed: -e expression #1, char 25: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)
有人知道该怎么办吗?...我尝试用 " 替换第一个 ' 和最后一个,用 @ 替换第一个 ' 和最后一个 / 。但仍然不起作用
我有一个脚本,我使用 cat 命令递归复制文件夹中文件的内容,如下所示
test -f /tmp/$F || cat $F > /tmp/$F
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
cat: read error: Invalid argument
Run Code Online (Sandbox Code Playgroud)
我想知道如何抑制此错误。我只能访问 shell 解释器(没有 bash)。
谢谢
我正在使用下面的正则表达式将 abc1,cde2,efg3 替换为 hello 但不知何故它不起作用
:%s/\(\d\{2}:\d\{2}:\d\{2\}\s\)\([A-z0-9]*\)/hello/gc
Run Code Online (Sandbox Code Playgroud)
3 月 17 日 02:25:01 abc1 micro:开始 use.slice。
Mar 17 02:25:01 cde2 micro:开始使用.slic
3 月 17 日 02:25:01 efg3 micro:开始使用.slic
我刚安装Cmder在Windows机器上,作为安装Cygwin和使用bash shell的先驱。
这是我第一次安装它,我注意到使用的提示字符是lambda'?'。至少在* nix环境中,我更习惯将'$'作为默认提示字符。
lambda是否表示任何特别来自其他计算传统的东西?还是因为看起来很酷而将其作为默认设置?
我需要一些帮助来查找包含重复字符的文本文件中的行.我更喜欢使用bash,但任何其他方法都会很好:)
一个小例子只是为了清楚地说明:
file.txt:
1234
11234
abcd
12234
ab321
1233
zs11w
12w2
Run Code Online (Sandbox Code Playgroud)
期望的输出:
11234
12234
1233
zs11w
12w2
Run Code Online (Sandbox Code Playgroud)
感谢你的帮助!
我不明白这行shell脚本.while语句是否需要设置$的'test'或[]或[[]]表达式?到1还是0?如何
while IFS= read -r -d $'\0'; do ...; done
Run Code Online (Sandbox Code Playgroud)
去做?任何帮助理解这里的语法非常感谢.
我是zsh的新手(我是bash 的长期用户),我有一个自定义提示(由不同来源混合而成),其中包含 git 的特定部分:

我想要: -如果说“干净”,(master)则为绿色-如果说“不干净”,则为红色git status(master)git status
我不知道该怎么做,如果有人知道,我将不胜感激。
我的.zshrc:
# (...)
# Easy colors in ZSH scripting
autoload -U colors && colors
setopt prompt_subst
autoload -Uz vcs_info
function +vi-git-untracked() {
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
[[ $(git ls-files --other --directory --exclude-standard | sed q | wc -l | tr -d ' ') == 1 ]] ; then
hook_com[unstaged]+='%F{red}??%f'
fi
}
# Show …Run Code Online (Sandbox Code Playgroud) 我想提取 <ix:hidden> 和 </ix:hidden> 之间的编码。请告知如何提取它们
<ix:hidden>
<ix:nonNumeric contextRef="Duration_4_1_2021_To_3_31_2022_IlKaMcQ2N0C41UxW3xo4zg" name="dei:DocumentType" id="Tc_evMsUKdlCEyCZtbxEMZIxg_1_1">DEF 14A</ix:nonNumeric>
<ix:nonNumeric contextRef="Duration_4_1_2021_To_3_31_2022_IlKaMcQ2N0C41UxW3xo4zg" name="dei:AmendmentFlag" id="Tc_nHcapE52UUqrWD0pLkbdag_2_1">false</ix:nonNumeric>
<ix:nonNumeric contextRef="Duration_4_1_2021_To_3_31_2022_IlKaMcQ2N0C41UxW3xo4zg" name="dei:EntityRegistrantName" id="Tc_ZXMW19KSmk2TfvdhMCMr_A_3_1">Walter Hamscher Co Number One</ix:nonNumeric>
<ix:nonNumeric contextRef="Duration_4_1_2021_To_3_31_2022_IlKaMcQ2N0C41UxW3xo4zg" name="dei:EntityCentralIndexKey" id="Tc_MybzAywpbUCU3LEGZc_Ftg_4_1">0000990667</ix:nonNumeric>
</ix:hidden>
Run Code Online (Sandbox Code Playgroud)
use strict;
use warnings;
my @ar_sp;
my $string;
my @ar_out;
# Source File
my $src = 'iXBRL-Tagged_tm213138-13_def14a.htm';
# open source file for reading
open(FHR, '<', $src);
# Destination File
my $des = 'output.txt';
# Open new file to write
open(FHW, '>', $des);
print("Copying content from $src to $des\n");
@ar_sp = <FHR>;
# …Run Code Online (Sandbox Code Playgroud)