在 HTML 代码中查找并复制字符串

发布于 2024-09-12 12:53:46 字数 561 浏览 5 评论 0原文

我正在尝试一些新的东西,我通常会在 C# 或 VB 中执行此操作。但出于速度原因,我想在我的服务器上执行此操作。

  1. 打开文件 terms.txt
  2. 从 terms.txt 中一次取出一项并打开一个 url(可能是curl 或其他)并转到 http://system.com/set=terms
  3. 查看 HTML 源代码并提取图片名称 (stringB)。查找 image=StringB&location
  4. StringB 保存到 imgname.txt
  5. 关闭文件并循环到 terms.txt 中的下一项

我正在查看 sed 但我相信 awk 可能是最好的方法?这对我来说是全新的,构建这样的命令以在 shell 下运行。我熟悉 Linux 的使用,只需要命令方面的帮助。

I'm trying something new, I would normally do this in C# or VB. But for speed reason I'd like to do this on my server.

  1. Open File terms.txt
  2. Take each item one at a time from terms.txt and open a url (possibly curl or something else) and go to http://system.com/set=terms
  3. View the HTML source and extract pic names (stringB). Look for image=StringB&location
  4. Save StringB to imgname.txt
  5. Close file and cycle to the next item in terms.txt

I was looking at sed but I believe awk might be the best way? This is all new to me building a command like this to run under shell. I'm familiar with using linux just need help with the commands.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

断桥再见 2024-09-19 12:53:46

应该做,具体取决于 terms.txt 的精确格式(shell 脚本最好处理每行一个条目)以及您是否确实需要解析 HTML(我希望您不需要):

#! /bin/sh

if [ $# -ne 2 ]; then
    echo "usage: $0 termfile baseurl" >&2
    exit 1
fi
termfile="$1"
baseurl="$2"

while read term; do
    wget -q -O- "$baseurl/set=$term" |
      sed -ne 's/^.*image=\([^&]*\)&.*$/\1/p'
done < "$termfile"

与此不完全不同的东西 将其保存到名为“extractimages”的文件中,chmod +x 它,然后像这样运行它:

$ ./extractimages terms.txt http://system.com > imgname.txt

Something not entirely unlike this should do ya, depending on the precise format of terms.txt (shell scripts cope best with one entry per line) and whether you actually need to parse the HTML (I'm hoping you don't):

#! /bin/sh

if [ $# -ne 2 ]; then
    echo "usage: $0 termfile baseurl" >&2
    exit 1
fi
termfile="$1"
baseurl="$2"

while read term; do
    wget -q -O- "$baseurl/set=$term" |
      sed -ne 's/^.*image=\([^&]*\)&.*$/\1/p'
done < "$termfile"

You save this to a file named "extractimages", chmod +x it, and run it like so:

$ ./extractimages terms.txt http://system.com > imgname.txt
甜`诱少女 2024-09-19 12:53:46
sed 's|^.*$|wget -q -O- http:\/\/system.com/set=&|' file | bash |sed -ne 's/^.*image=\([^&]*\)&.*$/\1/p' 
sed 's|^.*$|wget -q -O- http:\/\/system.com/set=&|' file | bash |sed -ne 's/^.*image=\([^&]*\)&.*$/\1/p' 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文