dataabc / weibo-search

获取微博搜索结果信息,搜索即可以是微博关键词搜索,也可以是微博话题搜索
1.7k stars 372 forks source link

mysql数据库只有列表,没有数据的问题 #432

Open xiaochunhuobaiyuechu opened 10 months ago

xiaochunhuobaiyuechu commented 10 months ago

作者您好,运行了您最新的代码,数据库文件只存储标题,不存储爬取的字段,并且标题没有ip。但csv文件是正常的。

xiaochunhuobaiyuechu commented 10 months ago

我的问题解决了。qq群699368898 从您给出的 pipelines.py 和 items.py 代码来看,它们之间主要的不匹配在于数据库表中缺少“ip”字段。

为了解决这个问题,您可以根据需求进行以下操作:

  1. 如果您需要将“ip”字段也存储在数据库中,您可以在创建数据库表的 SQL 语句中添加这个字段。例如,在其他字段后面加上以下代码:
ip varchar(100),

所以,您的完整的 SQL 代码应该如下:

CREATE TABLE IF NOT EXISTS weibo (
    id varchar(20) NOT NULL,
    bid varchar(12) NOT NULL,
    user_id varchar(20),
    screen_name varchar(30),
    text varchar(2000),
    article_url varchar(100),
    topics varchar(200),
    at_users varchar(1000),
    pics varchar(3000),
    video_url varchar(1000),
    location varchar(100),
    created_at DATETIME,
    source varchar(30),
    attitudes_count INT,
    comments_count INT,
    reposts_count INT,
    retweet_id varchar(20),
    PRIMARY KEY (id),
    ip varchar(100)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  1. 如果您不需要在数据库中存储“ip”字段,您可以从items.py的WeiboItem类中删除ip字段。

选择需要的操作,然后运行爬虫以确保项目正确处理并存储数据。

dataabc commented 10 months ago

感谢反馈。您不但发现了问题,还给出了解决方案。如果您方便,能否以pull request的方式提交修改呢(第一个方案),这样您可以成为本项目的contributor。这不是强制的,无论您提交与否都非常感谢。