【发布时间】:2018-06-29 01:10:36
【问题描述】:
我想创建一个应用程序,让我可以在这个天气网站中搜索城市。 我希望您返回与执行的搜索相对应的站点。 我尝试使用 EditText 和 Button 执行此操作,但搜索似乎不起作用,因为返回的页面与初始页面相同。
我该如何解决这个问题?
这是我的代码:
final EditText editText = findViewById(R.id.edit);
final TextView textView = findViewById(R.id.testo);
Button button = findViewById(R.id.clicca);
button.setOnClickListener(new View.OnClickListener() {
Connection.Response res = null;
Document doc;
@Override
public void onClick(View v) {
try {
doc = Jsoup.connect("https://www.ilmeteo.it/meteo/cerca")
.data("citta", "bari")
.post();
} catch (IOException e) {
e.printStackTrace();
}
textView.setText(doc.location());
}
});
这是网站的 HTML 代码:
<div id="search">
<a id="search-logo" href="https://www.ilmeteo.it" title="IL Meteo - Home Page"></a>
<a id="search-arrow" href="javascript:;" onclick="toggleSearchMenu('main');"></a>
<form id="form-search0" name="search0" action="https://www.ilmeteo.it/meteo/cerca" method="get" onsubmit="return CheckSearchForm0()">
<input id="search-main" name="citta" value="" size="17" maxlength="64" class="txtSearch" onfocus="this.className='txtSearch';openSearchMenu('main');virginSearch=false;" onblur="if(this.value=='')this.className='txtSearch txtSearchE'" title="Cerca comune o località" autocomplete="Off" tabindex="1" onkeyup="ajax_showOptions(this,'type=IT&sort=smart',event)" type="text">
</form>
<a id="search-button" href="javascript:;" onclick="$('#form-search0').submit()"></a>
<div id="fav-search-cont"><span id="fav-search"></span></div>
</div>
编辑
谢谢大家!你的回答解决了我的问题:) 但我对另一个天气网站有疑问。我如何从这个其他站点执行与以前相同的操作?
P.S.:本站的问题是强制点击城市进行搜索,并且在URL中城市旁边有一个代码,例如“http://www.meteo.it/meteo/roma-58091”。
这是第二个网站的 HTML 代码:
<div class="pksrc">
<form class="search-form" onsubmit="return false">
<fieldset class="icon-lens">
<input type="hidden" id="searchid" disabled="" value="">
<input type="hidden" id="searchtarget" value="_blank">
<input type="text" class="query " id="searchinput" name="search" value="" placeholder="Cerca località" autocomplete="off">
<input type="submit" value="submit">
</fieldset>
</form>
<div id="search-menu"></div>
<ul id="search-option">
<li><a href="/meteo/milano-15146" title="Milano">Milano</a></li>
<li><a href="/meteo/roma-58091" title="Roma">Roma</a></li>
<li><a href="/meteo/napoli-63049" title="Napoli">Napoli</a></li>
</ul>
</div>
【问题讨论】:
-
D,也可以通过在搜索中传递城市作为参数来获取页面。例如:
https://www.ilmeteo.it/meteo/cerca?citta=Bari。所以你只需要使用Document doc = Jsoup.connect("https://www.ilmeteo.it/meteo/cerca?citta=Bari").get() -
谢谢!你解决了我的问题!但我还有一个问题要问你是否没有问题
-
请发布另一个问题或编辑此帖子并更新您的问题。
-
当然,我已经更新了我的初始帖子