今天需要将北京物业公司名称以及电话给整理出来,发现爱帮网上的数据比较多,自己一个一个的去摘取,太麻烦了,于是写一段代码来完成,并自动写入excel文档中,主要用的Jsoup 以及jxl 插件,很方便。
代码如下:
package com.bes.st.buz.website;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import com.bes.core.StringUtil;
import com.bes.st.rw.WriteFacade;
public class FetchUrl {
/**
* @param url
* @return
*/
public static List<WebsiteBean> fetchData(final String url) {
List<WebsiteBean> result = new ArrayList<WebsiteBean>();
try {
Document doc = Jsoup.connect(url).timeout(10000).get();
Elements es = doc.select("div.aside");
for (int i = 0; i < es.size(); i++) {
Elements aArr = es.get(i).select("a.title");
Elements pArr = es.get(i).select("div.part1 p");
Elements tArr = es.get(i).select("span.biztel");
String str = StringUtil.nvl(aArr.attr("title"));
String tel = StringUtil.nvl(tArr.text());
if(str.length() == 0 || tel.length() == 0){
continue;
}
WebsiteBean bean = new WebsiteBean();
bean.setName(aArr.attr("title"));
if(pArr.size()>0){
bean.setAddress(pArr.get(0).text());
}else{
bean.setAddress(pArr.text());
}
bean.setTel(tel);
result.add(bean);
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void writeFetchData(List<String> urls){
List<WebsiteBean> result = new ArrayList<WebsiteBean>();
if(urls != null){
for(String url : urls){
result.addAll(fetchData(url));
}
}
String output = "c:/tmp";
File file = new File(output, "tt.xls");
if (file.exists()) {
file.delete();
}
OutputStream out = null;
try{
file.createNewFile();
out = new FileOutputStream(file);
WriteFacade.writeExcel(out, "物业公司", result);
}catch(Exception ex){
ex.printStackTrace();
}finally{
try{
if(out != null){
out.close();
}
}catch(Exception ex){}
}
}
public static void main(String[] args) {
List<String> urls = new ArrayList<String>();
urls.add("http://www.aibang.com/?addr=%E5%85%A8%E5%B8%82&what=%E7%89%A9%E4%B8%9A&area=bizsearch2&cmd=noscript&script=false&city=%E5%8C%97%E4%BA%AC");
for(int i=2;i<20;i++){
urls.add("http://www.aibang.com/?area=bizsearch2&cmd=bigmap&city=%E5%8C%97%E4%BA%AC&a=&q=%E7%89%A9%E4%B8%9A&as=5000&ufcate=&rc=1&zone=&quan=&fm=&p=" + i);
}
writeFetchData(urls);
// fetchData("http://www.aibang.com/?addr=%E5%85%A8%E5%B8%82&what=%E7%89%A9%E4%B8%9A&area=bizsearch2&cmd=noscript&script=false&city=%E5%8C%97%E4%BA%AC");
}
}
相关推荐
我们可以使用 Word.Document 对象来访问 Word 文档中的表格,并将其数据写入 Excel 文档中。 知识点 7: 用户界面 在 VBA 中,我们可以使用用户界面来交互式地输入参数和显示结果。在本示例中,我们使用 TextBox 来...
在提供的"组态王报表保存成excel.pdf"文档中,可能包含了具体的编程示例或步骤指导。通常,这个过程会涉及到以下几个关键步骤: 1. **导出数据**:通过调用组态王的API,获取报表中的数据。这可能涉及到对报表对象...
LotusScript提供了对Microsoft Excel文件的API支持,允许开发者打开、读取和写入Excel文件。在这个例库中,代理很可能是使用LotusScript的`Workbook`和`Worksheet`对象来操作Excel文件。`Workbook`对象代表整个Excel...
此时,需要先进行数据处理,再将处理后的结果写入到Excel或Word文档中。此外,为了提高性能和用户体验,可以考虑分页导出,避免一次性加载大量数据导致内存溢出或页面响应慢。 总之,JSP导出Excel和Word是常见的...
在`QTP Excel函数.doc`文档中,可能包含了上述函数的详细说明、示例代码以及常见问题解答,可以帮助读者深入理解并应用这些函数。对于进行QTP自动化测试的人员来说,这份文档是一份宝贵的参考资料。
OLE是微软提出的一种复合文档技术,它允许在一个文档中嵌入或链接其他文档或对象,如Excel表格可以嵌入到Word文档中。通过OLE,应用程序可以调用其他应用程序的接口,实现跨程序的数据交换和操作,这就是“Excel读写...
通过这些接口,你可以从数据库中提取数据,生成图表,然后将它们插入到Word文档中,形成专业的分析报告。这不仅可以减少手动操作的时间,还可以保证报告的一致性和准确性。 Excel API则提供了丰富的功能来处理电子...
此包中的“获取EXCEL文档中SHEET名字的列表 开发环境 LABVIEW 2014版本.vi”程序,显然用于读取Excel文件中的工作表(Sheet)名称,并将这些名称展示或用于后续处理。 在LabVIEW中,通过使用Microsoft的COM...
本项目"java批量获取excel数据导入word文档中.zip"旨在解决一个特定的问题:自动化地从Excel文件中提取数据,并将这些数据整合到Word文档中。这种功能对于需要大量文书工作的专业人士,如律师,或者其他需要重复性...
在Word文档中,书签是一种可以标记特定位置的元素,使得程序能够准确地找到并更新这些位置上的内容。开发者通常会创建一个预定义的Word模板,该模板包含预先设置好的布局、格式和书签。当用户在Qt界面输入数据后,...
例如,你可以编写一段代码,将CVI中的数据分析结果以文本或图表的形式导出到Word文档中,形成专业级别的报告。同时,CVI也可以读取已有的Word模板,替换特定占位符,生成标准化的报告格式。 Excel作为数据处理和...
5. **写入Word**:将从Excel读取的数据插入到Word文档中。可以是直接输入文本,也可以创建表格并填充数据。这可能涉及Word的Range对象和Table对象。 6. **格式调整**:如果需要,还可以对导入的数据进行格式调整,...
- **写入PDF**:将创建的表格添加到PDF文档中,使用Document对象的add方法。 - **保存PDF**:最后,关闭Document对象,将PDF内容写入文件。 4. **挑战与注意事项**: - **格式保持**:Excel和PDF有不同的布局...
【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
在Excel文档中,有三个核心概念:Workbook、Worksheet和Cell。Workbook代表整个Excel文件,它可以包含多个Worksheet,每个Worksheet相当于Excel中的一个工作表,比如"Sheet1"、"Sheet2"等。而Cell则是最小的数据存储...
【文本转EXCEL】 将文本文件按指定的分隔符号分隔一次性导入到EXCEL文档中。提供两种导入方式。 【EXCEL转文本】 将当前工作表中存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递...
在Word文档中,图片可以丰富文本内容,但有时我们需要单独处理或导出这些图片。EasyPOI提供了接口来遍历Word文档中的所有图片,并将它们保存到指定的文件系统或者进行其他操作。在`ParseWord07Test.java`文件中,很...
Zhihu_voters使用python2.7编写,用来获取知乎某个答案下面所有点赞用户的信息,并自动输出到一个excel文档中。获取的用户信息包括用户名、用户个人主页地址、赞同、感谢、提问、回答。 写这个的初衷是因为有些时候...
数据分析部分可能涉及到将Excel或其他数据源的数据整合到Word文档中,这可能使用了`pandas`库来处理数据,然后利用`python-docx`将处理后的数据插入Word。此外,`openpyxl`库可能用于处理Excel文件,以获取或更新...
例如,你可以用`docwrite`函数将MATLAB中的变量值直接写入到Word文档中,或者用`excelfile`函数创建一个新的Excel工作簿并填充数据。 其次,officedoc工具箱提供了读取现有Office文档的能力。你可以用`docread`函数...