是否可以使用java连接到后台的url(没有可视化界面)并循环遍历该链接的元素?我想制作一个供个人使用的自动搜索工具。转到特定网址,循环阅读其文字的元素,当我搜索到我正在搜索的内容时,请在匹配项上执行点击类型操作以开始下载。如果"点击"在一个视图上并不容易我只是得到这个视图链接到的URL。
答案 0 :(得分:0)
是的,有可能。 查找URLConnection类和HttpURLConnection类。
刚刚进行了搜索" URLConnection示例"得到了这个:
http://www.java-samples.com/showtutorial.php?tutorialid=401
看起来很简单。
答案 1 :(得分:0)
我刚刚注意到你提到你想要这个用于Android,但这是我在Python 3.4中使用类似方法编写的内容。也许您可以在Java中创建与Android应用程序类似的东西。
您需要做一些Web请求(在我的情况下使用Python我正在使用Requests库)和屏幕抓取(我正在使用BeautifulSoup)。在这个特定的例子中,我不得不浏览大约302个重定向,所以我有多次调用" get" Session()中的函数。但是,我不会在此示例中进行任何下载。
这是一个(精简版)示例,执行导航到网站的任务,登录("点击"提交按钮通过POST表格数据完成),抓取屏幕上的数据,并将其打印到控制台。
from bs4 import BeautifulSoup
import requests
credentials = {
'field1':'valueForField1',
'field2':'valueForField2'
...
}
s = requests.Session()
r0 = s.get('http://www.foobar.com')
r1 = s.get('http://www.foobar.com/foo')
...
r21 = s.post('http://www.foobar.com/foo/bar.do', data=credentials)
...
r23 = s.get('http://www.foobar.com/foo/bar/accountinfo')
soup = BeautifulSoup(r23.text)
product = soup.find_all('td', class_='product')
print('-------------------------------------------------------------------------------')
print()
for p in product:
print(p)
print()
print('-------------------------------------------------------------------------------')