python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中
# coding:utf-8 import urllib2
from bs4 import BeautifulSoup
import json
import sys reload(sys) sys.setdefaultencoding('utf-8')
class dataBean(object) : def __init__(self, title, url,date):
self.date = date
self.url = url
self.title = title
def obj_2_json(obj):
return {
"title":obj.title,
"url":obj.url,
"date":obj.date
}
url = "http://localhost:8088/news.html"
response3 = urllib2.urlopen(url)
soup = BeautifulSoup(response3.read(), 'html.parser', from_encoding='utf-8')
links = soup.find_all('a',class_='')
data=[]
contents = soup.find('ul', class_="w_newslistpage_list").findAll("li") for content in contents:
bean = dataBean(content.find("span").find("a").get_text(), content.find("span").find("a")['href'],
content.find('span', class_="date").get_text())
data.append(dataBean(content.find("span").find("a").get_text(), content.find("span").find("a")['href'],
content.find('span', class_="date").get_text())) jsondata= json.dumps(data,default=dataBean.obj_2_json, ensure_ascii=False,encoding='utf-8')
fileObject = open('data.json', 'w')
fileObject.write(jsondata)
fileObject.close()
print jsondata
java中调用,借助jython.jar,并将bs4文件拷贝在当前文件夹下即可
import org.python.core.Py;
import org.python.core.PyString;
import org.python.util.PythonInterpreter; public class Main {
//jython安装
public static void main(String[] args) {
String code = "# -*- coding: utf-8 -*-\n" +
"import sys\n" +
"reload(sys)\n" + "import urllib2\n" +
"sys.setdefaultencoding('utf-8')\n" +
"import json\n";
new Thread(new Runnable() {
@Override
public void run() {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("from bs4 import BeautifulSoup");
PyString code2 = Py.newStringUTF8(code);
interpreter.exec(code2);
interpreter.execfile("D:\\java\\test\\src\\GetNewsDataToLocal.py"); }
}
).start();
} }
可在当前文件夹看到json文件
python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中的更多相关文章
- 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中
一. 爬取http://blog.jobbole.com/all-posts/中的所有文章 1. 编写jobbole.py简单代码 import scrapy from scrapy. ...
- 直接把数据库中的数据保存在CSV文件中
今天突然去聊就来写一个小小的demo喽,嘿嘿 public partial class Form1 : Form { public Form1() { InitializeComponent(); } ...
- 使用scrapy爬取的数据保存到CSV文件中,不使用命令
pipelines.py文件中 import codecs import csv # 保存到CSV文件中 class CsvPipeline(object): def __init__(self): ...
- 使用jsp读取某个目录下的所有文件名,并保存在json文件中
<%@page import="java.io.File"%> <%@page import="java.io.FileWriter"%> ...
- Sql数据保存到Excel文件中
public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为 ...
- c# 将datatable中的数据保存到excel文件中
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...
- 如何在Java中调用Python代码
有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...
- 在Java中调用Python
写在前面 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单.恰好我在项目中就遇到了这个问题 ...
- 在Java中调用Python代码
极少数时候,我们会碰到类似这样的问题:与A同学合作写代码, A同学只会写Python,不熟悉Java ,而你只会写Java不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方 ...
随机推荐
- impala 中SQL的优化方法
1.取流水表的数据时,如果是使用全部分区数据,不能从SA层数据取数,需要改从SH层取数,因为SH层为parquet存储,查询性能较好. 2.对于脚本中使用的临时表,如果存在以下情况需要进行统计表信息 ...
- sql 发生死锁
SELECT request_session_id spid , OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tr ...
- Paper Reading:Mask RCNN
Mask RCNN 论文:Mask R-CNN 发表时间:2018 发表作者:(Facebook AI Research)Kaiming He, Georgia Gkioxari, Piotr Dol ...
- 操作系统-chapter1
课程:https://mooc.study.163.com/learn/1000002004?tid=2402971010&_trace_c_p_k2_=f79694c7fc04429bb9b ...
- nginx配置跨域之后每次访问会发送两次请求
公司项目从前后端不分离转到前后端分离 首先遇到的问题就是前后端分离的时候跨域的问题 但是当跨域成功配置并且能访问成功的时候发现 每次客户端的请求都会发送两次 第一次是OPTIONS的请求,然后才是正常 ...
- duilib学习领悟(2)
再次强调,duilib只不过是一种思想! 在上一节中,我剖析了duilib中窗口类的注册,其中遗留两个小问题没有细说的? 第一个问题:过程函数中__WndProc()中有这么一小段代码: pThis ...
- 「Django」Django内置email发送邮件
Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...
- spring配置和映射文件
配置 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www. ...
- javascript逻辑非(!/!!)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python执行playbook
from collections import namedtuple from ansible.parsing.dataloader import DataLoader from ansible.va ...