0

我想从 URL.txt 中获取 URL,然后将它们附加到https://www.mcdelivery.com.pk/pk/browse/menu.html另一个文件 menu.sh 中存在的基本 URL 的末尾

Url.text 文件包含

?daypartId=1&catId=1
?daypartId=1&catId=2
?daypartId=1&catId=11
?daypartId=1&catId=10
?daypartId=1&catId=6
?daypartId=1&catId=4
?daypartId=1&catId=14
?daypartId=1&catId=5
?daypartId=1&catId=3
?daypartId=1&catId=8

我想https://www.mcdelivery.com.pk/pk/browse/menu.html?daypartId=1&catId=11 从 URL.txt 文件中添加基本 url + url 之类的 url

我想出了这段代码,但问题是我只从第一页获取价格,并且它不断重复同一页面的值,直到循环结束。

ARRAY=()
while read -r LINE
do
ARRAY+=("$LINE")
done < URL.txt
for LINE in "${ARRAY[@]}"
do   
echo $LINE
curl https://www.mcdelivery.com.pk/pk/browse/menu.html$LINE | grep -o '<span class="starting-price">.*</span>' | sed 's/<[^>]\+>//g' >> price.txt 
done

我得到的输出

Rs 398
Rs 487
Rs 841
Rs 752
Rs 398
Rs 398
Rs 487
Rs 841
Rs 752
....

我想从每个页面获取价格并将它们存储到 price.txt

4

2 回答 2

1
于 2020-06-22T21:39:45.640 回答
0
#!/bin/bash
curl -sL https://www.mcdelivery.com.pk/pk/browse/menu.html | grep -o '<li class="secondary-menu-item ">.*</li>' | sed 's/href=/\nhref=/g' | \
grep 'href=\"' | \
sed 's/.*href="//g;s/".*//g' > URL.txt
sed -i 's/amp;//' URL.txt

ARRAY=()
while read -r LINE
do
    ARRAY+=("$LINE")
done < URL.txt

for LINE in "${ARRAY[@]}"
do    
    echo $LINE
    curl https://www.mcdelivery.com.pk/pk/browse/menu.html"$LINE" | grep -o '<h5 class="product-title">.*</h5>' | sed 's/<[^>]\+>//g' >> name.txt
    curl https://www.mcdelivery.com.pk/pk/browse/menu.html"$LINE" | grep -o '<span class="starting-price">.*</span>' | sed 's/<[^>]\+>//g' >> price.txt 
done    

这是我的问题的答案。谢谢大家的帮助!!!

于 2020-06-07T14:58:13.640 回答