-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
获取自身微博信息 #113
Comments
感谢反馈。 非常好的建议,但是与现在的部分功能冲突。现在user_id即可以是真实的用户id,也可以是个性域名,如胡歌的微博页是https://weibo.cn/hu_ge,其中“hu_ge”就是个性域名。添加“/profile”后,如果user_id写的是真实的id可以正确获取信息,但是如果写的是个性域名,就会获取失败。考虑到很多微博是个性域名形式,为了更好的扩展性,程序暂时不作修改。 再次感谢,如果发现其它问题,欢迎继续反馈:smile: |
抓取不到图片的解决方法如下, 供参考
|
@dataabc |
@purplepalmdash 感谢,已解决! |
请问以上提到的两处url在代码文件的哪里呢?在 spider.py 看到 get_weibo_info 函数,但是看不到 url 的赋值。 |
@Yuuoniy 你好,url 的构建当前都在 parser 模块下: 每个 parser 对应了一类相关 url. |
程序已经更新,URL的引用变了。我也遇到这个问题,parser目录下的index_parser, info_parser, page_parser 里的url相关地址我都加上profile 可是依然无法解析个人微博。看程序报错是xpath匹配不到数据 ,我有一些微博是仅自己可见的,但是分析微博的页面结构后发现仅自己可见的微博div和人的微博div并没有什么不同,不知道出错环节在哪里 ``list index out of range Traceback (most recent call last): 'NoneType' object has no attribute 'nickname' Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): Traceback (most recent call last): |
@scriptway |
在抓取自己微博历史记录时,原程序一直抓不到,程序本身没有报错;抓取其他人的微博正常。
分析后发现微博地址更改下可用,在如下两处url后面增加“/profile",即可。
1:
def get_weibo_info(self): """获取微博信息""" try: url = 'https://weibo.cn/%s/profile' % (self.user_config['user_uri'])
2:
def get_one_page(self, page): """获取第page页的全部微博""" try: url = 'https://weibo.cn/%s/profile?page=%d' % ( self.user_config['user_uri'], page)
ps:更改成新地址后,抓取其他人的微博同样可用。
The text was updated successfully, but these errors were encountered: