在這種情況下,我正在嘗試通過哈希標簽廢棄 Instagram使用硒的狗
- 滾動加載影像
- 獲取加載影像的帖子鏈接
但我意識到大多數鏈接都是重復的(最后 3 行)我不知道是什么問題我什至嘗試了許多用于 Instagram 抓取的庫,但它們要么給出錯誤要么不通過哈希標簽搜索。
我正在嘗試抓取 Instagram 以獲取用于我的深度學習分類器模型的影像資料,我也想知道是否有更好的 Instagram 抓取方法
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains as AC
driver = webdriver.Edge("msedgedriver.exe")
driver.get("https://www.instagram.com")
tag = "dog"
numberOfScrolls = 70
### Login Section ###
time.sleep(3)
username_field = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label/input')
username_field.send_keys("myusername")
password_field = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label/input')
password_field.send_keys("mypassword")
time.sleep(1)
driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]').click()
time.sleep(5)
### Scarping Section ###
link = "https://www.instagram.com/explore/tags/" tag
driver.get(link)
time.sleep(5)
Links = []
for i in range(numberOfScrolls):
AC(driver).send_keys(Keys.END).perform() # scrolls to the bottom of the page
time.sleep(1)
for x in range(1, 8):
try:
row = driver.find_element_by_xpath(
'//*[@id="react-root"]/section/main/article/div[2]/div/div[' str(i) ']')
row = row.find_elements_by_tag_name("a")
for element in row:
if element.get_attribute("href") is not None:
print(element.get_attribute("href"))
Links.append(element.get_attribute("href"))
except:
continue
print(len(Links))
Links = list(set(Links))
print(len(Links))
uj5u.com熱心網友回復:
它發現我的錯誤是什么
row=driver.find_element_by_xpath('//[@id="reactroot"]/section/main/article/div[2]/div/div[' str(i) ']')
特別是在這一部分,str(i)它應該是x而不是i這就是為什么大多數重復的原因
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/401201.html
標籤:Python 硒 网页抓取 Instagram 屏幕抓取
