Macos 卷曲刮错网页

Macos 卷曲刮错网页,macos,curl,cookies,web-scraping,Macos,Curl,Cookies,Web Scraping,我正在尝试在Mac终端中使用curl登录一个网页,但似乎无法正确登录。我有一个cookies.txt文件,其中包含我正在读取到命令中的登录信息,但我无法让它刮取预期页面。当我跑的时候 curl-b/Users/dwm8/Desktop/cookies.txt-o/Users/dwm8/Desktop/file.txthttps://kenpom.com/team.php?team=Duke&y=2002 file.txt的内容是来自而不是来自的网页数据。有解决办法吗?谢谢您的帮助。您需要将url

我正在尝试在Mac终端中使用
curl
登录一个网页,但似乎无法正确登录。我有一个
cookies.txt
文件,其中包含我正在读取到命令中的登录信息,但我无法让它刮取预期页面。当我跑的时候

curl-b/Users/dwm8/Desktop/cookies.txt-o/Users/dwm8/Desktop/file.txthttps://kenpom.com/team.php?team=Duke&y=2002


file.txt
的内容是来自而不是来自的网页数据。有解决办法吗?谢谢您的帮助。

您需要将url部分用引号括起来

您需要将url部分用引号括起来

&
是一个shell元字符,用于分隔命令并在命令应在后台运行之前指示该命令。所以,你的命令是:

curl ... https://kenpom.com/team.php?team=Duke&y=2002
将分析为两个单独的命令:

curl ... https://kenpom.com/team.php?team=Duke &    # The & means run curl in the background
y=2002    # This just sets a shell variable
为了让shell将
&
视为
curl
的参数的一部分,而不是命令分隔符,您需要引用它(单引号或双引号都可以),或者用反斜杠转义:

curl ... 'https://kenpom.com/team.php?team=Duke&y=2002'
curl ... "https://kenpom.com/team.php?team=Duke&y=2002"
curl ... https://kenpom.com/team.php\?team=Duke\&y=2002

注意,在最后一个例子中,我也转义了
?这是因为
也是一个shell元字符(特别是通配符)。在这种情况下,它可能不会引起任何麻烦,但最安全的做法是引用或避开它以防万一。而且,由于很难准确地跟踪哪些字符会引起问题,我建议使用引号而不是转义,并且只引用您完全不确定的所有内容。

&
是一个shell元字符,用于分隔命令并在后台运行命令之前指示命令。所以,你的命令是:

curl ... https://kenpom.com/team.php?team=Duke&y=2002
将分析为两个单独的命令:

curl ... https://kenpom.com/team.php?team=Duke &    # The & means run curl in the background
y=2002    # This just sets a shell variable
为了让shell将
&
视为
curl
的参数的一部分,而不是命令分隔符,您需要引用它(单引号或双引号都可以),或者用反斜杠转义:

curl ... 'https://kenpom.com/team.php?team=Duke&y=2002'
curl ... "https://kenpom.com/team.php?team=Duke&y=2002"
curl ... https://kenpom.com/team.php\?team=Duke\&y=2002

注意,在最后一个例子中,我也转义了
?这是因为
也是一个shell元字符(特别是通配符)。在这种情况下,它可能不会引起任何麻烦,但最安全的做法是引用或避开它以防万一。而且,由于很难准确记录哪些角色会引起麻烦,我建议引用而不是逃避,并且只引用您不确定的所有内容。

非常感谢!真的很感谢你帮我把话说清楚,这是一个巨大的帮助。非常感谢!真的很感谢你帮我把它简化,这是一个巨大的帮助