GithubHelp home page GithubHelp logo

微博搜索内容不全 about weibo-search HOT 15 OPEN

dataabc avatar dataabc commented on September 17, 2024
微博搜索内容不全

from weibo-search.

Comments (15)

dataabc avatar dataabc commented on September 17, 2024

感谢反馈。

会不会是配置的原因?比如只爬了热门等等。还有种原因,就是很多微博的发布者集中在一个地方一个时间发了微博,程序对于同一个城市在同一个小时段内最多能获取1000条,考虑到发微博的地方和时间应该是分散的,即不会特别集中,因为有400多个城市和地方,24个时间段,有10000多种组合,如果微博发布很分散且很多,最多能爬取1000多万条的,所以理论上是可以爬下大部分微博的。集中的情况比较罕见,不知道是不是程序出了bug。如果方便,能否告知KEYWORD_LIST、WEIBO_TYPE、CONTAIN_TYPE、REGION、START_DATE和END_DATE配置,我调试下。

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

应该不是以上原因,不知道是不是因为微博搜索只能显示前100页的内容,我的微博配置如下:
KEYWORD_LIST = ['#美国大选#']
WEIBO_TYPE = 1
CONTAIN_TYPE = 0
REGION = ['全部']
START_DATE = '2020-11-03'
END_DATE = '2020-11-08'
6天只爬取了3000多条,分开每天都爬取900条左右、爬取了一共5000多条
感谢!

感谢反馈。

会不会是配置的原因?比如只爬了热门等等。还有种原因,就是很多微博的发布者集中在一个地方一个时间发了微博,程序对于同一个城市在同一个小时段内最多能获取1000条,考虑到发微博的地方和时间应该是分散的,即不会特别集中,因为有400多个城市和地方,24个时间段,有10000多种组合,如果微博发布很分散且很多,最多能爬取1000多万条的,所以理论上是可以爬下大部分微博的。集中的情况比较罕见,不知道是不是程序出了bug。如果方便,能否告知KEYWORD_LIST、WEIBO_TYPE、CONTAIN_TYPE、REGION、START_DATE和END_DATE配置,我调试下。

from weibo-search.

dataabc avatar dataabc commented on September 17, 2024

应该是搜索结果不稳定的原因。

上面的配置其实搜索的2020-11-03 0点到2020-11-09 0点的原创微博,https://s.weibo.com/weibo?q=%23%E7%BE%8E%E5%9B%BD%E5%A4%A7%E9%80%89%23&scope=ori&suball=1&timescope=custom:2020-11-03-0:2020-11-09-0&Refer=g,900多条。然后,把间隔换成1天,也是900多,不知道是不是不稳定。你可以把REGION 改成具体的省或直辖市列表,这样每个省都可以获得900左右,或者分开每天这样爬。

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

好的,也算是一个折中的办法,感谢!

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

今天发现按省按天有些热门的也是900爬不全,能否在搜索时间里增加小时,或者在地区里增加市,这样分开搜索的结果更全

from weibo-search.

dataabc avatar dataabc commented on September 17, 2024

修改weibo/spiders/search.py,把里面的数字50调小,比如40。

这里的50是搜索的最大页数,每次搜索最多显示50页。程序在获取某关键词时,如果发现该关键词的搜索结果小于50页,说明它一共就这么多微博;否则会认为结果没有完全展示,所以会细分,比如当前是按天搜索的,细分到小时,再判断小时的页数是否小于50,以此类推。因为上面的关键词即便很多,但是最多只显示了40多页,程序认为只有40多页,就不再细分了。为了继续细分,即把50调小为某个数字,只要页数到达这个数字,程序认为结果没有展示完全,继续细分。

所以,把数字调小就可以了,这个数字是是否继续细分的阈值,不应该过小。比如,调小成2,即便结果真的只有两页,程序也会细分,本来一两页就能完成,现在要额外细分,会很慢。所以,数字不应太小,40多应该可以。

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

好的,我试试

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

改成了45问题解决
看了下现在我这的微博搜索最多现实46页,所以50是有点问题的

from weibo-search.

dataabc avatar dataabc commented on September 17, 2024

感谢反馈。

可能是关键词的原因,我发现不同关键词的最大页数不同,比较迷,有的是50,有的40多,不知道会不会有其它数值,我在考虑下如何修改。

再次感谢反馈和建议。

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

确实最大页数从40多到50多不等,现在还得自己搜索再修改
最后感谢作者!

from weibo-search.

dataabc avatar dataabc commented on September 17, 2024

客气了。 直接写个比较小的数就行,比如40,只是这样可能会误判,把本来只有40多页的关键词错当成可以细分的,这样就会多爬几页,速度会略慢。

from weibo-search.

YummyToolman avatar YummyToolman commented on September 17, 2024

嗯好的

from weibo-search.

hsm11233 avatar hsm11233 commented on September 17, 2024

修改weibo/spiders/search.py,把里面的数字50调小,比如40。

这里的50是搜索的最大页数,每次搜索最多显示50页。程序在获取某关键词时,如果发现该关键词的搜索结果小于50页,说明它一共就这么多微博;否则会认为结果没有完全展示,所以会细分,比如当前是按天搜索的,细分到小时,再判断小时的页数是否小于50,以此类推。因为上面的关键词即便很多,但是最多只显示了40多页,程序认为只有40多页,就不再细分了。为了继续细分,即把50调小为某个数字,只要页数到达这个数字,程序认为结果没有展示完全,继续细分。

所以,把数字调小就可以了,这个数字是是否继续细分的阈值,不应该过小。比如,调小成2,即便结果真的只有两页,程序也会细分,本来一两页就能完成,现在要额外细分,会很慢。所以,数字不应太小,40多应该可以。

感谢作者,想问一下如果设置成51,是不是就可以按照天的颗粒度进行爬取了?

from weibo-search.

dataabc avatar dataabc commented on September 17, 2024

@hsm11233 这个和天没关系,因为最多50页左右,设置51,就可能最多获取50页,不在细分。程序默认就是按天爬取的,只不过可能异步执行了不同日期,如果想一天爬取完成再爬另一天,只是在settings.py里把日期一天一天的设置,即爬完一天,再设置另一天。

from weibo-search.

hsm11233 avatar hsm11233 commented on September 17, 2024

为最多50页左右,设置51,就可能最多获取50页,不在细分。程序默认就是按天爬取的,只不过可能异步执行了不同日期,如果想一天爬取完成再爬另一天,只是在settings.py里把日期一天一天的

好的,谢谢!

from weibo-search.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.