使用webmagic爬虫对百度百科进行简单的爬取
分析要爬取的网页源码:
1、打开要分析的网页,查看源代码,找到要爬取的内容:
(选择网页里的一部分右击审查元素也行)
2、导入jar包,这个就直接去网上下吧;
3、写爬虫:
package com.gb.pachong;
import java.sql.SQLException;
import com.gb.util.AddNum;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
public class BaikePaChong implements PageProcessor
{
private static String key;
public static String res=null;
// 抓取网站的相关配置,包括编码、重试次数、抓取间隔
private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
public void run(String key)
{
this.key = key;
//addUrl就是种子url,Page对象就是当前获取的页面,getUrl()可以获得当前url,addTargetRequests()就是把链接放入等待爬取,getHtml()获得页面的html元素
//启动爬虫
Spider.create(new BaikePaChong()).addUrl("https://baike.baidu.com/item/" + key).thread(5).run();
}
@Override
public Site getSite()
{
return site;
}
@Override
public void process(Page page)
{
//获取页面内容
res = page.getHtml().xpath("//meta[@name='description']/@content").toString();
//把包含数据添加到数据库的方法的类实例化成对象
AddNum addNum=new AddNum();
try
{
//数据添加进数据库
addNum.store(key, res);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void search(String string)
{
BaikePaChong baikePaChong = new BaikePaChong();
baikePaChong.run(string);
}
public String getRes()
{
return res;
}
}
4、上面只是简单的爬取,可以仿照这样的方法进行一些别样的扩展使用。
5、Xpath可以在这里直接复制:
使用webmagic爬虫对百度百科进行简单的爬取的更多相关文章
- Python爬虫学习(5): 简单的爬取
学习了urllib,urlib2以及正则表达式之后就可以做一些简单的抓取以及处理工作.为了抓取方便,这里选择糗事百科的网页作为抓取对象. 1. 获取数据: In [293]: url = " ...
- 爬虫系列(六) 用urllib和re爬取百度贴吧
这篇文章我们将使用 urllib 和 re 模块爬取百度贴吧,并使用三种文件格式存储数据,下面先贴上最终的效果图 1.网页分析 (1)准备工作 首先我们使用 Chrome 浏览器打开 百度贴吧,在输入 ...
- 爬虫系列(十一) 用requests和xpath爬取豆瓣电影评论
这篇文章,我们继续利用 requests 和 xpath 爬取豆瓣电影的短评,下面还是先贴上效果图: 1.网页分析 (1)翻页 我们还是使用 Chrome 浏览器打开豆瓣电影中某一部电影的评论进行分析 ...
- web scraper——简单的爬取数据【二】
web scraper——安装[一] 在上文中我们已经安装好了web scraper现在我们来进行简单的爬取,就来爬取百度的实时热点吧. http://top.baidu.com/buzz?b=1&a ...
- 爬虫系列(十) 用requests和xpath爬取豆瓣电影
这篇文章我们将使用 requests 和 xpath 爬取豆瓣电影 Top250,下面先贴上最终的效果图: 1.网页分析 (1)分析 URL 规律 我们首先使用 Chrome 浏览器打开 豆瓣电影 T ...
- 爬虫概念与编程学习之如何爬取视频网站页面(用HttpClient)(二)
先看,前一期博客,理清好思路. 爬虫概念与编程学习之如何爬取网页源代码(一) 不多说,直接上代码. 编写代码 运行 <!DOCTYPE html><html><head& ...
- Python爬虫入门教程:豆瓣Top电影爬取
基本开发环境 Python 3.6 Pycharm 相关模块的使用 requests parsel csv 安装Python并添加到环境变量,pip安装需要的相关模块即可. 爬虫基本思路 一. ...
- 爬虫入门(三)——动态网页爬取:爬取pexel上的图片
Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...
- Python爬虫之简单的爬取百度贴吧数据
首先要使用的第类库有 urllib下的request 以及urllib下的parse 以及 time包 random包 之后我们定义一个名叫BaiduSpider类用来爬取信息 属性有 url: ...
随机推荐
- sql server版本、组件和管理工具
以下信息由何问起收集,希望有帮助. SQL Server 版本 定义 Enterprise 作为高级版本, SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷.虚 ...
- HTML元素的分类
HTML元素的分类 EC前端 - HTML教程 块元素 div:无语义,常用于布局 aside:表示article元素的内容之外的与article元素的内容相关内容 figure:表示一段独立的流内容 ...
- Spring-MVC运行原理
一. Spring-MVC的对象初始化,即 bean放入context的beanFactory中. 1. 对象的初始化工作主要在org.springframework.web.servlet.Fram ...
- java中产生HttpServletRequest等作用域
protected ServletContext getServletContext() { return ServletActionContext.getServletContext();} pro ...
- LNMP支持 多版本PHP
1.到 http://www.php.net/downloads.php(http://www.php.net/downloads.php) 选择合适的版本号,如 5.6.34 2.到 LNMP 1. ...
- Mysql双主互备+keeplived高可用架构介绍
一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...
- Deployment descriptor
部署描述符是JavaEE程序常见的一部分,部署一个Servlet 3 或以上应用程序是一件轻而易举的事.通过Servlet注解,对于不太复杂的应用程序,甚至可以部署没有描述符的Servlet/JSP应 ...
- svn的基本使用方法
一,svn的介绍 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库(repository) 中. ...
- Maven搭建SSH框架
工具:Eclipse(Maven管理工具)+Tomcat+Mysql. 1.新建一个Maven工程(maven-archetype-webapp). 打开File ——>new——>Mav ...
- php面试题--并列排名问题
给定一个二维数组: <?php $data = [ ['name' =>'j1', 'score' => '80'], ['name' =>'j2', 'score' => ...