我敢肯定,我会把这件事弄得一团糟,但我被困住了,别无选择,只能问问。
我有这个简单的哈巴狗形式:
form(id="searchForm", action="/search" method="POST")
input(type="text" name="keyword")
input(value='Submit', type='submit')
抓取表单输入没有问题。在下面进行即可。
app.post('/search, (req, res) => {
var keyword = req.body.keyword
console.log(keyword) // returns user input
})
但这就是我在努力的地方。我只是想获取表单数据并将其注入:keyword
中。当然,我也希望单击提交后显示该页面。
app.get('/search/:keyword', (req, res) => {
scraper
.searchDictionary(req.params.keyword)
.then(words => {
res.json(words);
});
})
基本上,这是我必须完成的爬虫项目,这是其功能的关键部分。获得请求很容易。如果直接输入search / enter_keyword,则将以JSON格式获取所有已抓取的数据。因此,该功能完全可以按需运行。
问题是,我希望表单输入以某种方式与该路线同步,并基本完成路线的:keyword
部分。很抱歉,如果那不是足够的信息,或者这被认为不是做事的好方法。询问是否需要。
答案 0 :(得分:1)
您可以重定向到另一条路线:
@echo off
TITLE Modifying your HOSTS file
COLOR F0
:LOOP
cls
SET "CHOICE="
ECHO Choose 1 to block a website
ECHO Choose 2 remove a blocked website
ECHO Choose 3 to exit
SET /P CHOICE= selection %CHOICE%
GOTO %CHOICE%
:1
cls
SET /P WEBSITE=Enter the name of the website to add:
SET HOME= 127.0.0.1
SET NEWLINE=^& echo.
SET BLOCKEDSITE=%HOME% %WEBSITE%
FIND /C /I %BLOCKEDSITE% %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%BLOCKEDSITE%>>%WINDIR%\System32\drivers\etc\hosts
ECHO Website blocked
ping 127.0.0.1 -n 5 > nul
GOTO LOOP
:2
cls
SET /P WEBSITE=Enter the name of the website to remove:
SETLOCAL ENABLEEXTENTIONS DISABLEDELAYEDEXPANSION
SET "HOME= 127.0.0.1 "
SET "BLOCKEDSITE=%HOME% %WEBSITE%"
SET "REPLACE="
SET "HOSTSFILE=%WINDIR%\system32\drivers\etc\hosts"
FOR /F "DELIMS=" %%i IN ('TYPE "%HOSTSFILE%" ^& BREAK ^> "%HOSTSFILE%" ')
DO
(
SET "LINE=%%i"
SETLOCAL ENABLEDELAYEDEXPANSION
>>"%HOSTSFILE%" echo(!LINE:%BLOCKEDSITE%=%REPLACE%!
ENDLOCAL
)
ECHO Website unblocked
GOTO LOOP
:3
EXIT