Java 在后台连接到url并循环元素
是否可以使用java在后台连接到url(没有可视化界面)并循环该链接的元素?我想做一个供个人使用的自动搜索工具。转到一个特定的url,遍历读取其文本的元素,当我找到匹配的内容时,对匹配的内容执行单击类型操作以开始下载。如果“点击”一个视图并不容易,我很乐意只获取该视图链接到的url。是的,这是可能的。 查找URLConnection类和HttpURLConnection类 刚刚搜索了“URLConnection example”,得到以下信息:Java 在后台连接到url并循环元素,java,url,search,getelementbyid,Java,Url,Search,Getelementbyid,是否可以使用java在后台连接到url(没有可视化界面)并循环该链接的元素?我想做一个供个人使用的自动搜索工具。转到一个特定的url,遍历读取其文本的元素,当我找到匹配的内容时,对匹配的内容执行单击类型操作以开始下载。如果“点击”一个视图并不容易,我很乐意只获取该视图链接到的url。是的,这是可能的。 查找URLConnection类和HttpURLConnection类 刚刚搜索了“URLConnection example”,得到以下信息: 它看起来很简单,可以理解。我刚刚注意到您提到要在
它看起来很简单,可以理解。我刚刚注意到您提到要在Android上使用它,但下面是我在Python3.4中使用类似方法编写的东西。也许您可以在Java中创建类似于Android应用程序的东西 您将需要执行一些web请求(在我使用Python的情况下,我正在使用库)和屏幕抓取(我正在使用)。在这个特定的实例中,我必须浏览大约302个重定向,因此我有多个对中“get”函数的调用。但是,在本例中我不进行任何下载 这是一个(精简的)示例,它执行以下任务:导航到网站、登录(“单击”提交按钮通过发布表单数据完成)、在屏幕上抓取数据并将其打印到控制台
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('-------------------------------------------------------------------------------')
#匿名黑客可能很清楚答案!:)您可以使用selenium(headless)和phantomjs来实现这一点,就像这里一样,您可以使用HTML解析器来解析页面。但是如果你想模拟点击,它会涉及JavaScript,那么我会考虑像Selee这样的Web驱动程序。你必须使用java吗?我想把它加入到Android应用程序中……我想我更喜欢java。你还有什么可以推荐的吗?你能提供更多关于如何帮助循环url元素的信息吗?或者是一个有效的例子?这似乎很有希望…我来试试。在我弄明白如何在我的应用程序中导入python之后!您不必使用Python。我从未用Java做过任何屏幕抓取,但Pshemo建议可能值得研究一下。