使用 bash 进行有条件的网站抓取

问题描述 投票:0回答:1

以下脚本抓取电影标题的网站

#!/bin/bash
parse_url() {
ids=$(curl -s "$1" | grep -o -P '(?<=list.php\?mid=)\d+')
for id in $ids
do 

titles=$(curl -s "http://subtitle.co.il/view.php?id=$id&m=subtitles#${id#1}" | grep -o -P '(?<=style="direction:ltr;" title=")(.*?)(?=">)')
for title in $titles 
if [[ "$title" == *720p* ]]
then
echo "$title"
fi
done
done
echo "done"
}

我只想在 $title 包含“720p”时回显它。当我运行脚本时,它返回以下错误: 意外标记 `if' 附近的语法错误 if [[ "$title" == 720p ]]' 我哪里做错了?谢谢

bash web-scraping curl
1个回答
0
投票

您忘记了前面的

do
之后的
for

© www.soinside.com 2019 - 2024. All rights reserved.