c 抓取网页数据(百度中搜索一个使用webmagic:数据库Mongodb驱动使用)

优采云 发布时间: 2022-03-18 15:19

  c 抓取网页数据(百度中搜索一个使用webmagic:数据库Mongodb驱动使用)

  当我们在百度搜索的时候,会有一个嵌入的查询页面:

  

  这是通过ajax技术加载的,因为是js渲染,所以页面源码中不收录这个信息。

  通过火狐的Firebug*敏*感*词*网络请求,发现请求是到百度opendata,结果返回一个收录100条数据的json

  

  这样,通过分析请求字符串的参数,自定义请求,就可以让爬虫直接爬取数据。

  获得数据后,您需要对其进行解析。每个请求将返回 100 条数据。现在您需要将这 100 条数据全部删除,并将它们存储在 Mongodb 数据库中。

  爬虫使用 webmagic:

  数据库MongoDB驱动使用

  行家坐标:

  

us.codecraft

webmagic-extension

0.5.2

org.mongodb

mongo-java-driver

2.7.3

  Webmagic爬虫框架使用参考:

  我在爬取过程中自定义了PageProcessor,将数据解析并存储在Mongodb中,并使用爬虫框架自带的FilePipeline将数据持久化到磁盘文件中。

  每个请求返回100条数据,需要分析分离成单独的json字符串,然后一一插入。

  插入数据时,还要判断数据是否重复。

  json格式的字符串可以直接存入数据库。

  Mongo mongo = new Mongo();

DB db = mongo.getDB("shixinTest");

DBCollection q=db.getCollection("shixinTest1");

// new BasicDBObject();

// 通过JSON.parse构造DBObject

DBObject query = (BasicDBObject) JSON.parse(JsonString)

q.save(query);

  json字符串存储在mongodb数据库中:

  

  爬虫实现部分是:抓取网络json数据,存入mongodb(2)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线