Python 是否能够从VKAPI获取文章?

Python 是否能够从VKAPI获取文章?,python,integration,social-media,vk,Python,Integration,Social Media,Vk,我试图从VK集团获得文章。但我找不到任何可能从VKAPI获得它们。也许有人也面临同样的问题?是否有机会使用get for Post获取文章?(我使用的是vk_api python包)免责声明:我基本上无法完全理解vk api文档中的俄语文档 获得一篇文章 似乎没有文档化的方法来检索VKAPI中的文章,但是如果您已经在使用Python,那么您可以使用在主类中实例化的会话。这不会给你一篇文章,而是HTML本身,因此如果你需要的话,你必须解析它来提取文本。这是我在代码中使用的东西: import vk

我试图从VK集团获得文章。但我找不到任何可能从VKAPI获得它们。也许有人也面临同样的问题?是否有机会使用get for Post获取文章?(我使用的是vk_api python包)

免责声明:我基本上无法完全理解vk api文档中的俄语文档

获得一篇文章 似乎没有文档化的方法来检索VKAPI中的文章,但是如果您已经在使用Python,那么您可以使用在主类中实例化的会话。这不会给你一篇文章,而是HTML本身,因此如果你需要的话,你必须解析它来提取文本。这是我在代码中使用的东西:

import vk_api
    vk_session = vk_api.VkApi(login, password)
    try:
        vk_session.auth(token_only=True)
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return
# Note that calls are going to be performed with the vk_session object, not the API class.
article_url = "https://vk.com/@riakatyusha-akademik-fortov-buduschee-budet-takim-kakim-my-ego-opredelim"
article_content = vk_session.http.get(article_url).text
这应该有助于你开始。从这里开始,您只需要处理HTML代码。不幸的是,没有关于中的文章的文档,因此我们可能无法处理文章

从组或用户页提取文章URL 下面是一些代码,可以帮助您开始从用户或社区页面提取所有文章。这里唯一的依赖项是bs4。我使用了lxml解析器,因为它是最快的,我在我的机器上有它,但是如果您不想要/拥有它,您可以使用其他解析器,如

这个非常简单的方法应该可以帮助您检索组中最近发布的20篇文章。我找不到加载更多项目的方法,尽管看起来您需要使用author_page.php。不过,这看起来很难。也许你会在这本书中找到一些灵感,或者问问别人

假设您不想访问私有组,下面是代码(我认为使用VK_api requests会话调用post和get方法足以登录到VK中,但您似乎需要额外的步骤):


谢谢你的回答!这是有道理的。在这种情况下,我们唯一需要的是获取所有文章的URL。我不知道该怎么做我的代码不直接使用VK中的文章(我需要从墙贴附件中找到的文章中提取文本),所以我对这些还不太了解。虽然文章本质上似乎是公开的,但是如果有一个部分列出了用户或社区的所有文章,那么您可以通过使用与答案中相同的请求会话来检索该部分的移动版本,并使用bs4对其进行解析,以按CSS类过滤项目。如果你感兴趣的话,我明天会对此进行测试,如果有效的话,我会发布一个代码片段。我添加了一个方法,可以从组的移动页面加载URL。你应该能够在用户配置文件中的公共文章中应用同样的功能。哦,谢谢!我试试这个方法
import requests
from bs4 import BeautifulSoup
group_url = "https://m.vk.com/@riakatyusha"
body = requests.get(group_url)
soup = BeautifulSoup(body.text, "lxml")
articles_list = soup.find_all("div", class_="author-page-article")
for article in articles_list:
    # VK includes relative URLS in articles so you'd need to complete it first.
    url = article.a["href"]
    url = "https://m.vk.com"+url
    # Optionally, we could remove the GET params you have in urls such as context&ref.
    url = url.split("?")[0]
    # We still might retrieve some extra info in case you'd need.
    title = article.find("span", class_="author-page-article__title").text
    summary = article.p.text
    print(title, summary, url)