Tôi cho rằng bạn có thể sử dụng wget từ dòng lệnh.
wget -U "Firefox/3.0.15" http://www.google.com/search?q=SEARCH+TERMS+HERE -O result.html -q
Hoặc -O- -q
để xuất ra stdout. Tuy nhiên, việc xử lý các kết quả từ html sẽ là một vấn đề hoàn toàn khác.
Nếu bạn nhận được wget, cũng có thể nhận được grep là tốt, hoặc chỉ nhận được tất cả GnuWin32 vì nó khá hữu ích. Sau đó, bạn có thể làm những việc như sau:
wget -U "Firefox/3.0.15" "http://www.google.com/search?q=wget+google+search" -O- -q 2>&1 | grep -E -o -e "<cite>[^<]+</cite>" | sed -r -e "s/<[^>]+>//g"
... để nhận URL của liên kết đầu tiên từ tìm kiếm của Google. Bầu trời là giới hạn. Sáng tạo.
(Output của ví dụ lệnh trên: isaksen.biz/blog/?p=470
)
Nếu bạn muốn hiển thị danh hiệu đầu tiên cộng với URL đầu tiên, nó trở nên phức tạp hơn một chút.
@echo off
setlocal enabledelayedexpansion
set search=%1 %2 %3 %4 %5 %6 %7 %8 %9
for /l %%a in (1,1,8) do if "!search:~-1!"==" " set search=!search:~0,-1!
set search=%search: =+%
wget -U "Firefox/3.0.15" "http://www.google.com/search?q=%search%" -O search.html -q 2>NUL
for /f "tokens=*" %%I in ('grep -P -o "<h3 class=.*?</h3>" search.html ^| sed -r -e "s/<[^>]+>//g"') do (
echo %%I
goto next
)
:next
set /p I="http://"<NUL
for /f "tokens=*" %%I in ('grep -E -o -e "<cite>[^<]+</cite>" search.html ^| sed -r -e "s/<[^>]+>//g"') do (
echo %%I
del /q search.html
goto :EOF
)
Cách sử dụng: search.bat up to 9 search terms here
Ví dụ:
C:\Users\me\Desktop>search command line google
googlecl - Command line tools for the Google Data APIs - Google ...
http://goosh.org/
C:\Users\me\Desktop>
Bạn đã chết chỉ bằng cách sử dụng dấu nhắc lệnh? Nếu có, thì không có công cụ nào trong dấu nhắc lệnh để cho phép bạn làm điều này. Tốt nhất bạn có thể làm là ping www.google.com, nhưng dấu nhắc lệnh không thể được sử dụng thay cho trình duyệt web. Bây giờ, nếu bạn cởi mở để nói PowerShell thì đó là một câu chuyện khác. – TimWagaman
Ok. Tôi sẽ xem xét PowerShell. Làm thế nào bạn có thể làm điều này trong PowerShell? Tôi khá xa lạ với PowerShell. –
@ R_USER82 trong quyền hạn bạn có thể sử dụng [psgoogle] (https://www.powershellgallery.com/packages/PsGoogle) – gordy