刮擦Instagram影响者及其帖子不仅可以帮助收集未来有影响力的候选人列表,还可以为您提供有关哪些内容可能更好地与观众互动的内容营销见解。如果您想加强自己的品牌标识,那么从影响者的概况中学习是一个不错的起点。
但是,刮擦社交数据与网站刮擦不同,因为几乎所有社交平台都要求您在使用平台上的任何功能之前先登录。因此,在本Python教程中,我会带您介绍如何使用Selenium刺激您登录到平台,浏览Instagram并搜索标签以下载顶级帖子的链接。到Python教程结束时,您可以根据需要更改主题标签来开始下载所有顶级Instagram帖子。
目录:构建Instagram机器人并使用主题标签来刮擦顶级Instagram帖子和Instagram用户
安装硒和Chromedriver
登录Instagram帐户
模拟您选择选项
使用主题标签搜索文章并滚动以获取更多帖子
查找您喜欢刮擦的元素,然后将它们保存在CSV文件中
使用标签
Instagram机器人 – 安装硒和Chromedriver
Selenium是一种免费的开源自动测试框架,用于在不同的浏览器和平台上验证Web应用程序。您可以使用多种编程语言(例如Java,C#,Python等)来创建Selenium测试脚本。使用硒测试工具进行的测试通常称为硒测试。
如果您已经阅读了我的Python教程文章有关以前设置PIP3的文章,那么安装硒非常容易。您只需要在Mac终端中输入此代码
然后,您需要一个虚拟驱动程序来代表您在此过程中采取行动。我会在本教程中推荐Chromedrive。首先,请前往Google搜索Chromedriver,然后单击他们的网站。您基本上可以看到两个版本 – Beta和最新标准。立即单击标准!
您可以选择设备可配置的版本,在这里我们选择Mac64.zip。下载后,您需要提取ZIP并安装Chromedriver。快速注意事项,以便您将Chromedriver位置路径复制到剪贴板。它将在片刻之内使用。
首先,在Python脚本中,我们需要导入模块以及以前创建的其他Python脚本。
然后,我们创建一个称为驱动程序的变量,并使用Executable_path添加在复制的路径上。另外,我们输入有关浏览Instagram.com请求的代码。它类似于请求。获取,但是我们需要在硒环境中使用驱动程序。
驱动程序= WebDriver.Chrome(executable_path ='/users/louislu/desktop/python/chromedriver')
driver.get(“ https://www.instagram.com”)
Instagram机器人 – 登录Instagram帐户中
基本上,硒测试将模拟我在Instagram上的正常浏览。因此,首先必须是帐户登录。
首先,我们转到登录页面,然后单击右键单击以选择“检查”,以查找在用户名和密码类型中使用哪些元素来运行的元素。如我们所见,基本上,它使用<输入name =“用户名”>代表此框的元素,以及密码正在使用输入。因此,我们可以使用。CSS_SELECORIT来具体指出此部分。
在Selenium Expect_Conditions中,我们可以使用一个参数,这意味着单击该元素是element_to_be_clickable。而且,由于我们可能需要考虑加载速度,因此我们也可以使用WebDriverWait创建编码行。
这是代码:
用户名= webdriverwait(驱动程序,10).ultil(ec.element_to_be_clickable(((by.css_selector
passwass = webdriverwait(驱动程序,10)。
其次,我们将将帐户用户名和密码值发送到框。在此之前,我建议先清理盒子,以确保盒子为空。然后,我们使用Selenium api -send_keys的方法将值发送到框。
最后但并非最不重要的一点是,我们还需要检查登录按钮是什么元素,并检查用户名和密码框。然后,它继续使用element_to_be_clickable和by.css_selector。当我们需要单击按钮时,最后一个方法,单击(),需要添加。
log_in = webdriverwait(驱动程序,10).ultil(ec.element_to_be_clickable(((by.css_selector)
模拟您选择选项
登录后,有些平台将有一些弹出窗口。在这种情况下,您还需要澄清可能具有哪些弹出窗口。 Instagram通常有两个窗口,并且要. 顺畅地浏览我们的目标内容,我们现在可以单击。
在这里,我们还可以使用XPath单击现在的“不是”按钮。这是代码:
not_now = webdriverwait(驱动程序,10).until(ec.element_to_be_clickable(((by.xpath,“ // button),” // button [contains(text(),'not not now now')]))。单击())。
not_now2 = webDriverWait(驱动程序,10).until(ec.element_to_be_be_clickable(((by.xpath,“ // button),” // button [contains(text(),'nock'n n n n n n n n n n n n n n n n n n n n n n n n n n n n n')]))。单击())。
使用主题标签搜索文章,然后向下滚动以获取更多帖子
对于使用主题标签搜索帖子,Instagram具有固定的路径,即https://www.instagram.com/explore/tags/ +关键字。因此,我们需要首先创建一个查询变量,在这里我假定搜索“ Moussy”。然后,我们还创建一个可访问该页面的变量页面。
当您向下滚动以获取更多帖子时,您可能会发现它会加载一段时间以获取更多帖子。因此,我们需要编写代码以滚动并添加代码,以避免由于加载时间而停止刮擦。我们将使用window.scrollby()和time.sleep()方法。滚动方法中的x和y编号表示最大。您喜欢向下滚动的高度。但是,由于加载时间将停止滚动,我建议您首先设置更大的数字,并添加更多线条,如果您要刮擦更多帖子。
driver.execute_script(“ window.scrollby(0,1000000)”)
时间。
查找您喜欢刮擦的元素,然后将它们保存在CSV文件中
现在,基本上所有帖子都准备就绪,我们需要做的就是获取帖子链接。同样,我们可以检查并找到元素。在Selenium参数中,有两种方法,elements_by_tag_name和get_attribute()
links = driver.find_elements_by_tag_name('a')
links = [link.get_attribute('href')用于链接中的链接]
如果您尝试打印这些代码,并且结果出现在链接中,则意味着它正在工作
因此,您可以使用大熊猫附加列并将其保存为CSV文件。因此,我以前分享了,我不会在此处详细说明。
使用标签
如果您想通过使用主题标签拥有Instagram帖子的Python脚本和影响者Scraper的完整版本,请通过添加消息“第12章”来订阅我们的新闻通讯。我们会尽快将脚本发送到您的邮箱。
[嵌入] http://www.easy2digital.com/contact/ [/embed]
这么简单,对吧?希望您喜欢阅读第12章 – 构建Instagram机器人并使用主题标签来刮擦顶级Instagram帖子和Instagram用户。如果这样做,请通过执行下面列出的一件事情来支持我们,因为它总是有助于我们的频道。
通过PayPal(paypal.me/easy2digital)支持并捐赠任何金额
订阅我的频道,并打开通知铃easy2Digital YouTube频道。
关注和喜欢我的页面Easy2Digital Facebook页面
与主题标签#Easy2Digital在您的社交网络上分享文章
购买具有easy2digital 10%折扣代码的产品(Easy2DigitalNewBuyers2021)
您注册我们的每周新闻通讯,以收到Easy2Digital的最新文章,视频和折扣代码
希望您喜欢阅读。如果您这样做,请通过执行下面列出的一件事情来支持我们,因为它总是有助于我们的频道。
- 支持并通过paypal( paypal.me/easy2digital )
)
- 订阅我的频道并打开通知铃 easy2digital youtube youtube youtube频道。
- 关注我的页面 easy2digital Facebook页面
- 与标签#easy2digital
在您的社交网络上分享文章
- 您注册了我们的每周新闻通讯,以收到Easy2Digital的最新文章,视频和折扣代码
- 订阅我们通过Patreon每月会员资格享受独家福利( www.patreon.com/louisludigitalialcom/louisludigitalialigitigitigitial)