├── .classpath
├── .gitattributes
├── .gitignore
├── .project
├── .settings
└── org.eclipse.jdt.core.prefs
├── LICENSE
├── README.md
└── src
├── csdnblog
├── CsdnBlog.java
├── CsdnBlogDao.java
└── CsdnBlogPageProcessor.java
├── lib
├── assertj-core-1.5.0.jar
├── commons-codec-1.6.jar
├── commons-collections-3.2.1.jar
├── commons-io-1.3.2.jar
├── commons-lang-2.6.jar
├── commons-lang3-3.1.jar
├── commons-logging-1.1.3.jar
├── commons-pool-1.5.5.jar
├── fastjson-1.1.37.jar
├── guava-15.0.jar
├── hamcrest-core-1.3.jar
├── httpclient-4.3.3.jar
├── httpcore-4.3.2.jar
├── jedis-2.0.0.jar
├── json-path-0.8.1.jar
├── json-smart-1.1.1.jar
├── jsoup-1.7.2.jar
├── junit-4.11.jar
├── log4j-1.2.17.jar
├── mysql-connector-java-5.1.38-bin.jar
├── slf4j-api-1.7.6.jar
├── slf4j-log4j12-1.7.6.jar
├── webmagic-core-0.5.2.jar
├── webmagic-extension-0.5.2.jar
└── xsoup-0.2.4.jar
└── sql
└── schema.sql
/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | @@ -0,0 +1,59 @@
2 | *.class
3 |
4 | # Mobile Tools for Java (J2ME)
5 | .mtj.tmp/
6 |
7 | # Package Files #
8 | #*.jar
9 | *.war
10 | *.ear
11 |
12 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13 | hs_err_pid*
14 |
15 | # =========================
16 | # Operating System Files
17 | # =========================
18 |
19 | # OSX
20 | # =========================
21 |
22 | .DS_Store
23 | .AppleDouble
24 | .LSOverride
25 |
26 | # Thumbnails
27 | ._*
28 |
29 | # Files that might appear on external disk
30 | .Spotlight-V100
31 | .Trashes
32 |
33 | # Directories potentially created on remote AFP share
34 | .AppleDB
35 | .AppleDesktop
36 | Network Trash Folder
37 | Temporary Items
38 | .apdisk
39 |
40 | # Windows
41 | # =========================
42 |
43 | # Windows image file caches
44 | Thumbs.db
45 | ehthumbs.db
46 |
47 | # Folder config file
48 | Desktop.ini
49 |
50 | # Recycle Bin used on file shares
51 | $RECYCLE.BIN/
52 |
53 | # Windows Installer files
54 | *.cab
55 | *.msi
56 | *.msm
57 | *.msp
58 |
59 | # Windows shortcuts
60 | *.lnk
61 | /bin/
62 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | webmagic-csdnblog
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.jdt.core.javanature
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5 | org.eclipse.jdt.core.compiler.compliance=1.8
6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11 | org.eclipse.jdt.core.compiler.source=1.8
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 李奕锋
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 关于
2 | 基于WebMagic写的一个csdn博客小爬虫
3 |
4 | # 博客
5 | http://blog.csdn.net/qq598535550/article/details/51287630
6 |
7 | # 截图
8 | 
9 | 
10 |
11 | # 环境
12 | - jdk 1.8
13 | - tomcat 8.5
14 |
15 | # 依赖
16 | - [WebMagic](http://webmagic.io/)
17 |
18 | 
19 |
--------------------------------------------------------------------------------
/src/csdnblog/CsdnBlog.java:
--------------------------------------------------------------------------------
1 | package csdnblog;
2 |
3 | public class CsdnBlog {
4 |
5 | private int id;// 编号
6 |
7 | private String title;// 标题
8 |
9 | private String date;// 日期
10 |
11 | private String tags;// 标签
12 |
13 | private String category;// 分类
14 |
15 | private int view;// 阅读人数
16 |
17 | private int comments;// 评论人数
18 |
19 | private int copyright;// 是否原创
20 |
21 | public int getId() {
22 | return id;
23 | }
24 |
25 | public void setId(int id) {
26 | this.id = id;
27 | }
28 |
29 | public String getTitle() {
30 | return title;
31 | }
32 |
33 | public void setTitle(String title) {
34 | this.title = title;
35 | }
36 |
37 | public String getDate() {
38 | return date;
39 | }
40 |
41 | public void setDate(String date) {
42 | this.date = date;
43 | }
44 |
45 | public String getTags() {
46 | return tags;
47 | }
48 |
49 | public void setTags(String tags) {
50 | this.tags = tags;
51 | }
52 |
53 | public String getCategory() {
54 | return category;
55 | }
56 |
57 | public void setCategory(String category) {
58 | this.category = category;
59 | }
60 |
61 | public int getView() {
62 | return view;
63 | }
64 |
65 | public void setView(int view) {
66 | this.view = view;
67 | }
68 |
69 | public int getComments() {
70 | return comments;
71 | }
72 |
73 | public void setComments(int comments) {
74 | this.comments = comments;
75 | }
76 |
77 | public int getCopyright() {
78 | return copyright;
79 | }
80 |
81 | public void setCopyright(int copyright) {
82 | this.copyright = copyright;
83 | }
84 |
85 | @Override
86 | public String toString() {
87 | return "CsdnBlog [id=" + id + ", title=" + title + ", date=" + date + ", tags=" + tags + ", category="
88 | + category + ", view=" + view + ", comments=" + comments + ", copyright=" + copyright + "]";
89 | }
90 |
91 | }
92 |
--------------------------------------------------------------------------------
/src/csdnblog/CsdnBlogDao.java:
--------------------------------------------------------------------------------
1 | package csdnblog;
2 |
3 | import java.sql.Connection;
4 | import java.sql.DriverManager;
5 | import java.sql.PreparedStatement;
6 | import java.sql.ResultSet;
7 | import java.sql.SQLException;
8 | import java.sql.Statement;
9 |
10 | public class CsdnBlogDao {
11 |
12 | private Connection conn = null;
13 | private Statement stmt = null;
14 |
15 | public CsdnBlogDao() {
16 | try {
17 | Class.forName("com.mysql.jdbc.Driver");
18 | String url = "jdbc:mysql://localhost:3307/webmagic?user=root&password=";
19 | conn = DriverManager.getConnection(url);
20 | stmt = conn.createStatement();
21 | } catch (ClassNotFoundException e) {
22 | e.printStackTrace();
23 | } catch (SQLException e) {
24 | e.printStackTrace();
25 | }
26 |
27 | }
28 |
29 | public int add(CsdnBlog csdnBlog) {
30 | try {
31 | String sql = "INSERT INTO `webmagic`.`csdnblog` (`id`, `title`, `date`, `tags`, `category`, `view`, `comments`, `copyright`) VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
32 | PreparedStatement ps = conn.prepareStatement(sql);
33 | ps.setInt(1, csdnBlog.getId());
34 | ps.setString(2, csdnBlog.getTitle());
35 | ps.setString(3, csdnBlog.getDate());
36 | ps.setString(4, csdnBlog.getTags());
37 | ps.setString(5, csdnBlog.getCategory());
38 | ps.setInt(6, csdnBlog.getView());
39 | ps.setInt(7, csdnBlog.getComments());
40 | ps.setInt(8, csdnBlog.getCopyright());
41 | return ps.executeUpdate();
42 | } catch (SQLException e) {
43 | e.printStackTrace();
44 | }
45 | return -1;
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/src/csdnblog/CsdnBlogPageProcessor.java:
--------------------------------------------------------------------------------
1 | package csdnblog;
2 |
3 | import java.util.List;
4 |
5 | import us.codecraft.webmagic.Page;
6 | import us.codecraft.webmagic.Site;
7 | import us.codecraft.webmagic.Spider;
8 | import us.codecraft.webmagic.processor.PageProcessor;
9 |
10 | /**
11 | * CSDN博客爬虫
12 | *
13 | * @describe 可以爬取指定用户的csdn博客所有文章,并保存到数据库中。
14 | * @date 2016-4-30
15 | *
16 | * @author steven
17 | * @csdn qq598535550
18 | * @website lyf.soecode.com
19 | */
20 | public class CsdnBlogPageProcessor implements PageProcessor {
21 |
22 | private static String username = "qq598535550";// 设置csdn用户名
23 | private static int size = 0;// 共抓取到的文章数量
24 |
25 | // 抓取网站的相关配置,包括:编码、抓取间隔、重试次数等
26 | private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
27 |
28 | @Override
29 | public Site getSite() {
30 | return site;
31 | }
32 |
33 | @Override
34 | // process是定制爬虫逻辑的核心接口,在这里编写抽取逻辑
35 | public void process(Page page) {
36 | // 列表页
37 | if (!page.getUrl().regex("http://blog\\.csdn\\.net/" + username + "/article/details/\\d+").match()) {
38 | // 添加所有文章页
39 | page.addTargetRequests(page.getHtml().xpath("//div[@id='article_list']").links()// 限定文章列表获取区域
40 | .regex("/" + username + "/article/details/\\d+")
41 | .replace("/" + username + "/", "http://blog.csdn.net/" + username + "/")// 巧用替换给把相对url转换成绝对url
42 | .all());
43 | // 添加其他列表页
44 | page.addTargetRequests(page.getHtml().xpath("//div[@id='papelist']").links()// 限定其他列表页获取区域
45 | .regex("/" + username + "/article/list/\\d+")
46 | .replace("/" + username + "/", "http://blog.csdn.net/" + username + "/")// 巧用替换给把相对url转换成绝对url
47 | .all());
48 | // 文章页
49 | } else {
50 | size++;// 文章数量加1
51 | // 用CsdnBlog类来存抓取到的数据,方便存入数据库
52 | CsdnBlog csdnBlog = new CsdnBlog();
53 | // 设置编号
54 | csdnBlog.setId(Integer.parseInt(
55 | page.getUrl().regex("http://blog\\.csdn\\.net/" + username + "/article/details/(\\d+)").get()));
56 | // 设置标题
57 | csdnBlog.setTitle(
58 | page.getHtml().xpath("//div[@class='article_title']//span[@class='link_title']/a/text()").get());
59 | // 设置日期
60 | csdnBlog.setDate(
61 | page.getHtml().xpath("//div[@class='article_r']/span[@class='link_postdate']/text()").get());
62 | // 设置标签(可以有多个,用,来分割)
63 | csdnBlog.setTags(listToString(page.getHtml()
64 | .xpath("//div[@class='article_l']/span[@class='link_categories']/a/allText()").all()));
65 | // 设置类别(可以有多个,用,来分割)
66 | csdnBlog.setCategory(
67 | listToString(page.getHtml().xpath("//div[@class='category_r']/label/span/text()").all()));
68 | // 设置阅读人数
69 | csdnBlog.setView(Integer.parseInt(page.getHtml().xpath("//div[@class='article_r']/span[@class='link_view']")
70 | .regex("(\\d+)人阅读").get()));
71 | // 设置评论人数
72 | csdnBlog.setComments(Integer.parseInt(page.getHtml()
73 | .xpath("//div[@class='article_r']/span[@class='link_comments']").regex("\\((\\d+)\\)").get()));
74 | // 设置是否原创
75 | csdnBlog.setCopyright(page.getHtml().regex("bog_copyright").match() ? 1 : 0);
76 | // 把对象存入数据库
77 | new CsdnBlogDao().add(csdnBlog);
78 | // 把对象输出控制台
79 | System.out.println(csdnBlog);
80 | }
81 | }
82 |
83 | // 把list转换为string,用,分割
84 | public static String listToString(List stringList) {
85 | if (stringList == null) {
86 | return null;
87 | }
88 | StringBuilder result = new StringBuilder();
89 | boolean flag = false;
90 | for (String string : stringList) {
91 | if (flag) {
92 | result.append(",");
93 | } else {
94 | flag = true;
95 | }
96 | result.append(string);
97 | }
98 | return result.toString();
99 | }
100 |
101 | public static void main(String[] args) {
102 | long startTime, endTime;
103 | System.out.println("【爬虫开始】请耐心等待一大波数据到你碗里来...");
104 | startTime = System.currentTimeMillis();
105 | // 从用户博客首页开始抓,开启5个线程,启动爬虫
106 | Spider.create(new CsdnBlogPageProcessor()).addUrl("http://blog.csdn.net/" + username).thread(5).run();
107 | endTime = System.currentTimeMillis();
108 | System.out.println("【爬虫结束】共抓取" + size + "篇文章,耗时约" + ((endTime - startTime) / 1000) + "秒,已保存到数据库,请查收!");
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/src/lib/assertj-core-1.5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/assertj-core-1.5.0.jar
--------------------------------------------------------------------------------
/src/lib/commons-codec-1.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-codec-1.6.jar
--------------------------------------------------------------------------------
/src/lib/commons-collections-3.2.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-collections-3.2.1.jar
--------------------------------------------------------------------------------
/src/lib/commons-io-1.3.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-io-1.3.2.jar
--------------------------------------------------------------------------------
/src/lib/commons-lang-2.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-lang-2.6.jar
--------------------------------------------------------------------------------
/src/lib/commons-lang3-3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-lang3-3.1.jar
--------------------------------------------------------------------------------
/src/lib/commons-logging-1.1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-logging-1.1.3.jar
--------------------------------------------------------------------------------
/src/lib/commons-pool-1.5.5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/commons-pool-1.5.5.jar
--------------------------------------------------------------------------------
/src/lib/fastjson-1.1.37.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/fastjson-1.1.37.jar
--------------------------------------------------------------------------------
/src/lib/guava-15.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/guava-15.0.jar
--------------------------------------------------------------------------------
/src/lib/hamcrest-core-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/hamcrest-core-1.3.jar
--------------------------------------------------------------------------------
/src/lib/httpclient-4.3.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/httpclient-4.3.3.jar
--------------------------------------------------------------------------------
/src/lib/httpcore-4.3.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/httpcore-4.3.2.jar
--------------------------------------------------------------------------------
/src/lib/jedis-2.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/jedis-2.0.0.jar
--------------------------------------------------------------------------------
/src/lib/json-path-0.8.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/json-path-0.8.1.jar
--------------------------------------------------------------------------------
/src/lib/json-smart-1.1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/json-smart-1.1.1.jar
--------------------------------------------------------------------------------
/src/lib/jsoup-1.7.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/jsoup-1.7.2.jar
--------------------------------------------------------------------------------
/src/lib/junit-4.11.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/junit-4.11.jar
--------------------------------------------------------------------------------
/src/lib/log4j-1.2.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/log4j-1.2.17.jar
--------------------------------------------------------------------------------
/src/lib/mysql-connector-java-5.1.38-bin.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/mysql-connector-java-5.1.38-bin.jar
--------------------------------------------------------------------------------
/src/lib/slf4j-api-1.7.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/slf4j-api-1.7.6.jar
--------------------------------------------------------------------------------
/src/lib/slf4j-log4j12-1.7.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/slf4j-log4j12-1.7.6.jar
--------------------------------------------------------------------------------
/src/lib/webmagic-core-0.5.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/webmagic-core-0.5.2.jar
--------------------------------------------------------------------------------
/src/lib/webmagic-extension-0.5.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/webmagic-extension-0.5.2.jar
--------------------------------------------------------------------------------
/src/lib/xsoup-0.2.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liyifeng1994/webmagic-csdnblog/73b6bead025d5af1d81025986d09f30ce616dbc5/src/lib/xsoup-0.2.4.jar
--------------------------------------------------------------------------------
/src/sql/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `csdnblog` (
2 | `key` int(11) unsigned NOT NULL AUTO_INCREMENT,
3 | `id` int(11) unsigned NOT NULL,
4 | `title` varchar(255) NOT NULL,
5 | `date` varchar(16) DEFAULT NULL,
6 | `tags` varchar(255) DEFAULT NULL,
7 | `category` varchar(255) DEFAULT NULL,
8 | `view` int(11) unsigned DEFAULT NULL,
9 | `comments` int(11) unsigned DEFAULT NULL,
10 | `copyright` int(1) unsigned DEFAULT NULL,
11 | PRIMARY KEY (`key`)
12 | ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
13 |
--------------------------------------------------------------------------------