이 페이지를 방문하면 (https://imgur.com/user/Ultraruben/subscribed예)를 누르고 을 누르면 Ctrl+u
웹페이지가 나옵니다. 명령줄을 통해 html을 추출하려고 하면 다른 결과가 curl <url>
나타 curl -L <url>
납니다.
lynx -dump <url>
(자바스크립트 없이는) 작동하지 않습니다.
browser 를 통해 하는 것처럼 (작동하는 도구를 사용하여) 명령줄을 통해 수행해야 합니다 Ctrl+u
.
Opera 브라우저를 통해 얻은 내용은 다음과 같습니다.https://justpaste.it/42ci1 컬을 사용하면 이런 일이 발생합니다.https://justpaste.it/9oy3g
답변1
웹사이트에서는 보는 고객 유형에 따라 다양한 콘텐츠를 제공하는 것이 일반적입니다.
예를 들어 일부 사이트는 매우 오래된 휴대폰이나 Windows PC를 지원하기 위해 노력하고 있습니다. 보안 관점에서 볼 때 Internet Explorer 5 사용자에게 업데이트가 필요하다고 알리고 싶지만 돈이 없는 사람들에게 새 노트북을 구입해야 한다고 알리는 것이 아니라 대중에게 건강 정보를 제공하는 것이 귀하의 임무일 수 있습니다.
때로는 브라우저를 만족스럽게 유지하기 위해 특히 기발한 웹사이트로 구형 게임 장치를 지원하거나 사이트의 화면 최적화 버전을 제공해야 할 때도 있습니다.
어쨌든, 여기서 무슨 일이 일어날 가능성이 가장 높습니다. 귀하의 컬이 "안녕하세요, 저는 컬입니다"를 보내고 웹 서버는 브라우저가 아닌 자동화 도구를 특별히 대상으로 하는 페이지로 응답합니다.
따라서 먼저 컬에게 기본 브라우저와 동일한 사용자 에이전트를 사용하도록 지시하면 문제가 해결되었는지 확인하십시오. 어쩌면 이것이 문제를 해결했을 수도 있습니다.
Lynx가 JavaScript를 실행하지 않기 때문에 작동하지 않는다고 말하는 경우 최신 브라우저가 수행하는 모든 JavaScript 기능을 수행하는 것이 필요합니다. 즉, 최신 브라우저여야 합니다. 명령줄에서 브라우저를 조작하는 방법에는 여러 가지가 있습니다. 기본적으로 당신이 찾고 있는 것은네트워크 드라이버.
몇 줄의 스크립트를 작성하지 않으면 작동하지 않습니다.Mozilla의 WebDriver 문서시작하는 데 도움이 되는 예가 있습니다. 소스 코드를 가져오기 전에 JavaScript가 완료될 수 있도록 약간의 대기 시간(로드가 완료될 때와 몇 분의 1초)을 추가해야 합니다. 이 예에서는 특정 요소가 존재하기 시작할 때까지 기다리면서 이를 수행합니다.
답변2
Firefox를 사용하는 경우 네트워크 분석기를 열고 요청 가져오기를 마우스 오른쪽 버튼으로 클릭하면 됩니다. 그런 다음 컨텍스트 메뉴에서 "cURL 주소로 복사"를 선택합니다. URL의 경우 cr.yp.to
다음 명령을 받게 됩니다.
curl 'http://cr.yp.to/' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' -H 'Accept-Language: de,en-US;q=0.7,en;q=0.3' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1'