使用 Google Chrome [MacOS; 将输入输入到网站并为文件夹中的所有文件生成输出终端]

Entering input to a website and generating output for all files in folder using Google Chrome [MacOS; Terminal]

作为最小可重现示例,请导航至:https://www.genome.jp/kegg/tool/map_pathway3.html

在 URL 处,在 hsa00010 中输入“Select KEGG 路径图:”字段,然后在“输入数据”字段中,剪切并粘贴以下内容:

#hsa CLP/CMP    Blast_phase All
226 #FFFFFF #6495ED,#FF0000
229 #FFFFFF #6495ED,#FF0000
230 #FF0000 #6495ED,#FF0000
51071   #FFFFFF #6495ED,#FF0000
2203    #FFFFFF #6495ED,#FF0000
8789    #CBDBF9 #6495ED,#FF0000
2539    #FFFFFF #6495ED,#FF0000
132158  #FFFFFF #6495ED,#FF0000
2821    #FFFFFF #6495ED,#FF0000
9563    #FF6D6D #6495ED,#FF0000
414328  #FFFFFF #6495ED,#FF0000
5211    #97B8F3 #6495ED,#FF0000
5213    #E5EDFC #6495ED,#FF0000
5214    #97B8F3 #6495ED,#FF0000
5226    #FFFFFF #6495ED,#FF0000
25796   #FFFFFF #6495ED,#FF0000
5236    #E5EDFC #6495ED,#FF0000
55276   #6495ED #6495ED,#FF0000
5631    #FFFFFF #6495ED,#FF0000
221823  #FFFFFF #6495ED,#FF0000
5634    #FF6D6D #6495ED,#FF0000
64080   #FFFFFF #6495ED,#FF0000
9104    #FFFFFF #6495ED,#FF0000
6120    #FFFFFF #6495ED,#FF0000
729020  #FFFFFF #6495ED,#FF0000
22934   #FFFFFF #6495ED,#FF0000
6888    #B1CAF6 #6495ED,#FF0000
7086    #7DA6F0 #6495ED,#FF0000
8277    #E5EDFC #6495ED,#FF0000
84076   #E5EDFC #6495ED,#FF0000

最后,select“颜色规格”和“负-零-正”选项,然后点击'exec'按钮。

这样做应该会引导您到此 URL:https://www.genome.jp/kegg-bin/show_pathway?162660760057905/hsa00030.1.args

有些盒子是彩色的。

在同一个 URL,有一个“保存图像”按钮。我想点击那个按钮并保存每张图片。我的问题是,我想用这种方式生成几百个文件。

现在,我将所有路径代码(例如 hsa00030)作为文件名(例如 hsa00030.txt)存储在我 Mac 的目录中。每个 .txt 文件都有输入,就像上面的 4 列一样。

因此,我可以打开每个文件,输入路径代码,然后剪切并粘贴文件内容并一次生成一个。因为我有几百个文件,手动操作会很费时间。

我想问的是,这个过程可以自动化吗?

过去,我曾使用 Google Chrome 来执行相关类型的简单任务,但当我有表格要填写时,我不确定如何继续,冒泡到tick等

谢谢。

好的,这就是我的想法。确保你已经安装了 wget。它将 HSA 编号作为第一个输入,将颜色代码文件作为第二个输入。然后它生成一个颜色代码字符串来构建 cURL。 cURL 的结果是重定向到正确的 URL。然后,这会拉取 HTML 并删除导航到此页面时生成的临时文件。然后它使用 wget 获取 png。

将其保存到 downloadhsa.sh 文件然后 chmod +x 之后,您将 运行 和 ./downloadhsa.sh hsa00010 colorcodes.txt

#!/bin/sh
HSA=
COLOR_CODES_FILE=

if [[ ${HSA} == "" ]]; then
  echo "No HSA number given"
  exit 1
fi

if [[ ${COLOR_CODES_FILE} == "" ]]; then
  echo "No color codes file given"
  exit 1
fi
COLOR_CODES=$''
i=0
while IFS=$'\n' read -r line; do
  ((i >= 1 )) && COLOR_CODES+=$'\r\n'$line
  ((i++))
done <${COLOR_CODES_FILE}

printf ${COLOR_CODES}
echo "Generating file for ${HSA}..."
BASE_URL="https://www.genome.jp"
IMAGE_URL=$(curl -L 'https://www.genome.jp/kegg-bin/mcolor_pathway' \
  -H 'Connection: keep-alive' \
  -H 'Cache-Control: max-age=0' \
  -H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'Origin: https://www.genome.jp' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'DNT: 1' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryV72KHjGaYHrBOToa' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36' \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'Sec-Fetch-Mode: navigate' \
  -H 'Sec-Fetch-User: ?1' \
  -H 'Sec-Fetch-Dest: document' \
  -H 'Referer: https://www.genome.jp/kegg/tool/map_pathway3.html' \
  -H 'Accept-Language: en-US,en;q=0.9' \
  --data-raw $'------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="map"\r\n\r\n'"${HSA}"$'\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="unclassified"\r\n\r\n#hsa CLP/CMP Blast_phase All\r\n'"${COLOR_CODES}"$'\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="s_sample"\r\n\r\n\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="mapping_list"; filename=""\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="mode"\r\n\r\ncolor\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="numericalType"\r\n\r\nmm\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="minColor"\r\n\r\n#ffff00\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="maxColor"\r\n\r\n#ff0000\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="negativeColor"\r\n\r\n#00ff00\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="zeroColor"\r\n\r\n#ffff00\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa\r\nContent-Disposition: form-data; name="positiveColor"\r\n\r\n#ff0000\r\n------WebKitFormBoundaryV72KHjGaYHrBOToa--\r\n' \
  --compressed | grep "id=\"pathwayimage\"" | cut -d " " -f 2 | cut -d "\"" -f 2)

echo "Downloading image ${HSA} from ${BASE_URL}${IMAGE_URL}..."
if [[ ${IMAGE_URL} == "" ]]; then
  echo "No URL returned for which to fech an image"
  exit 1
fi

wget ${BASE_URL}${IMAGE_URL}