早上好, 我目前正在尝试使用 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
感谢您的帮助。
您只是想收集所有主题标签吗?
试试这个:
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)
这对我有用。
soup = BeautifulSoup(driver.page_source, 'html.parser')
hashtags = soup.find_all('a', class_='xil3i')
for tag in hashtags:
print(tag.text)
我的ig帖子的类别是
xil3i
,但是在使用.text
时我得到一个空值
。这段代码解决了我的问题。
使用以下内容获取完整描述:
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
这对我来说效果很好:
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)