使用 Selenium 从 Twitter 抓取关注者
Posted
技术标签:
【中文标题】使用 Selenium 从 Twitter 抓取关注者【英文标题】:Scraping followers from Twitter using Selenium 【发布时间】:2022-01-16 10:54:56 【问题描述】:我是 Python 新手,一直在尝试编写一个可以从 Twitter 抓取数据的应用程序。我尝试在堆栈和互联网上搜索所有类似的可能解决方案,但失败了。
我想抓取所有这些用户名: See here
这是我的代码:
driver.get("https://twitter.com/twitterusername/followers")
sleep(10)
usernames = driver.find_elements_by_class_name("css-901oao.css-16my406.r-poiln3.rbcqeeo.r-qvutc0")
for username in usernames:
print(username.get_attribute("href"))
我得到的结果:
None
None
None
None
None
None
None
... 继续
感谢您的帮助。
【问题讨论】:
为什么是巨大的sleep(10)
?
我只是在测试它。我稍后会改变它。你能帮我么? :(
使用这种类不是一个好习惯,因为它们被混淆了并且会改变。只需使用父类并接触到下面的孩子。 document.querySelectorAll('div[aria-label="Timeline: Followers"] a[role="link"]').forEach(a => console.log(a['href']))
我不明白这个...你能用我的代码为我提供修复吗?
我正在使用 Python。我认为上面的代码是在 Java/javascript 中的。
【参考方案1】:
所以,使用 BeautifulSoup 是不可能的。 我们只能使用 selenium 来处理这个问题。
for a in driver.find_elements_by_xpath('//div[@aria-label="Timeline: Followers"]//a[@role="link"]'):
url = a.get_property('href')
if 'search' in url:
return
print(url.replace("https://twitter.com/", "@")
【讨论】:
感谢您的努力,但我打算在 Selenium 中执行此操作。 :( 使用像 BeautifulSoup 这样的解析器有什么问题?你不能安装额外的灯包? 我正在使用 Selenium 并且我的大部分功能都是在其中完成的...... :( 很抱歉,我不是故意的。我非常感谢您的时间和精力。 .. 只是我更喜欢 Selenium。 不用担心,我更新了我的答案并且只使用了 selenium :) 它有效。有一个问题......它还显示了其他链接。像这样:twitter.com/search?q=%23Whexcosystem&src=hashtag_click以上是关于使用 Selenium 从 Twitter 抓取关注者的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 twint 库为整个国家/地区抓取 twitter
使用 BS4 或 Selenium 从 finishline.com 抓取网页
使用 Selenium 返回空 DataFrame 从网站抓取表格
如何使用Scrapy制作Twitter Crawler? [关闭]
Selenium:从 Coincodex 抓取历史数据并转换为 Pandas 数据框
在 python 上使用 selenium 或 beautifulsoup 从带有链接的页面中抓取数据,没有类,没有 id