使用 Python selenium 提取 Instagram 帖子描述

问题描述 投票:0回答:4

早上好, 我目前正在尝试使用 Python selenium 下载 Instagram 帖子的某个字段。具体来说,我正在尝试下载图片的标题(描述)(例如,在下图中,是以文本“谢谢@lolap .....”开头的部分,一直到主题标签。

我尝试了以下代码,但它似乎不起作用(它立即抛出异常):

caption = driver.findElement(By.xpath("/html/body/div[3]/div[2]/div/article/div[2]/div[1]/ul/div/li/div/div/div[2]/span/text()"))   #get all the caption text in a String

感谢您的帮助。

python selenium instagram screen-scraping
4个回答
1
投票

您只是想收集所有主题标签吗?

试试这个:

hashtags = driver.find_elements_by_xpath("//a[@class='xil3i']")

for tag in hashtags:
    print(tag.text)

或者,如果您正在寻找图片描述:

desc_text = driver.find_element_by_xpath("//span[@title='Edited']").text
print(desc_text)

0
投票

这对我有用。

soup = BeautifulSoup(driver.page_source, 'html.parser')
hashtags = soup.find_all('a', class_='xil3i')
for tag in hashtags:
    print(tag.text)

我的ig帖子的类别是

xil3i
,但是在使用
.text
时我得到一个空值 。这段代码解决了我的问题。


0
投票

使用以下内容获取完整描述:

    comments = driver.find_elements(
        by=By.CSS_SELECTOR,
        "span._aacl._aaco._aacu._aacx._aad7._aade",
    )

    description = comments[0].text
    print(f"Description: {description}")
    return description

0
投票

这对我来说效果很好:

soup = BeautifulSoup(driver.page_source, 'html.parser') post_description_element = soup.find('div', class_='_a9zs') post_text = post_description_element.text.strip() if post_description_element else "" print("帖子描述:", post_text)

© www.soinside.com 2019 - 2024. All rights reserved.