在后台连接到url并循环遍历元素

时间:2015-01-12 00:20:54

标签: java url search getelementbyid

是否可以使用java连接到后台的url(没有可视化界面)并循环遍历该链接的元素?我想制作一个供个人使用的自动搜索工具。转到特定网址,循环阅读其文字的元素,当我搜索到我正在搜索的内容时,请在匹配项上执行点击类型操作以开始下载。如果"点击"在一个视图上并不容易我只是得到这个视图链接到的URL。

2 个答案:

答案 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('-------------------------------------------------------------------------------')