使用 Selenium Python 进行网页抓取 [Twitter + Instagram]

     2023-02-23     304

关键词:

【中文标题】使用 Selenium Python 进行网页抓取 [Twitter + Instagram]【英文标题】:Web Scraping with Selenium Python [Twitter + Instagram] 【发布时间】:2017-08-19 09:23:56 【问题描述】:

我正在尝试根据地理位置对 Instagram 和 Twitter 进行网络抓取。 我可以运行查询搜索,但在将网页重新加载到更多并将字段存储到数据框时遇到了挑战。

我确实找到了几个没有 API 密钥的网页抓取 twitter 和 Instagram 的示例。但它们与#tags 关键字有关。

我正在尝试在地理位置和旧日期之间进行抓取。到目前为止,我已经在 python 3.X 和 anaconda 中所有最新版本的软件包中编写代码。

'''
    Instagram - Components
    "id": "1478232643287060472", 
     "dimensions": "height": 1080, "width": 1080, 
     "owner": "id": "351633262", 
     "thumbnail_src": "https://instagram.fdel1-1.fna.fbcdn.net/t51.2885-15/s640x640/sh0.08/e35/17439262_973184322815940_668652714938335232_n.jpg", 
     "is_video": false, 
     "code": "BSDvMHOgw_4", 
     "date": 1490439084, 
     "taken-at=213385402"
     "display_src": "https://instagram.fdel1-1.fna.fbcdn.net/t51.2885-15/e35/17439262_973184322815940_668652714938335232_n.jpg", 
     "caption": "Hakuna jambo zuri kama kumpa Mungu shukrani kwa kila jambo.. \ud83d\ude4f\ud83c\udffe\nIts weekend\n#lifeistooshorttobeunhappy\n#Godisgood \n#happysoul \ud83d\ude00", 
     "comments": "count": 42, 
     "likes": "count": 3813, 
'''


import selenium
from selenium import webdriver
#from selenium import selenium
from bs4 import BeautifulSoup
import pandas

#geotags = pd.read_csv("geocodes.csv")
#parmalink = 
query = geocode%3A35.68501%2C139.7514%2C30km%20since:2016-03-01%20until:2016-03-02&f=tweets

twitterURL = 'https://twitter.com/search?q=' + query
#instaURL = "https://www.instagram.com/explore/locations/213385402/"


browser = webdriver.Firefox()
browser.get(twitterURL)
content = browser.page_source

soup = BeautifulSoup(content)
print (soup)

对于 Twitter 搜索查询,我收到语法错误

对于 Instagram,我没有收到任何错误,但我无法重新加载更多帖子并写回 csv 数据框。

我也在尝试在 Twitter 和 Instagram 中使用纬度和经度搜索。

我有一个 csv 中的地理坐标列表,我可以使用该输入或编写查询进行搜索。

将不胜感激任何完成位置抓取的方法。

感谢帮助!

【问题讨论】:

您是否考虑过使用requests 代替硒?我对 twitter 进行了查询,它有效。此外,您的代码应该将查询作为字符串接收,query = geocode%3... 行应该会给您一个错误。 @Fernando 你能帮我解答一下吗。我对这个网络抓取完全陌生,而且最近远离编程。真的,我对什么和如何继续感到更加困惑。 . 【参考方案1】:

我设法使用requests 使它工作。您的代码将如下所示:

from bs4 import BeautifulSoup
import requests

query = "geocode%3A35.68501%2C139.7514%2C30km%20since:2016-03-01%20until:2016-03-02&f=tweets"

twitter = 'https://twitter.com/search?q=' + query

content = requests.get(twitter)
soup = BeautifulSoup(content.text)

print(soup)

然后您可以使用soup 对象来解析您需要的内容。如果您的查询是正确的,同样的事情也适用于 Instagram。

【讨论】:

非常感谢您的回答..将汤解析为数据框是我面临的困难之一.. 也许你应该花点时间阅读pandas documentation 以更好地了解它是如何工作的 是的,甚至在发布问题之前就一直在尝试.. 没有得到任何结果,因此发布了一个问题.. 在我编写的代码中,Instagram 的搜索链接有一个基于 Facebook 位置编号格式的位置编号,我无法找到其他位置编号的列表。你能帮我形成基于纬度和经度的查询吗? :) 感谢您的回答。如果我能得到更多帮助,那就太好了。

使用 Selenium 和 Python 进行用户输入的网页抓取动态网站

】使用Selenium和Python进行用户输入的网页抓取动态网站【英文标题】:Web-scrapingdynamicwebsitewithuserinputusingSeleniumandPython【发布时间】:2022-01-2403:19:44【问题描述】:作为游泳者,我正在尝试从用户输入姓名或其他可选字段后可以访... 查看详情

使用 selenium 和 bs4 进行网页抓取

】使用selenium和bs4进行网页抓取【英文标题】:Webscrapingusingseleniumandbs4【发布时间】:2019-02-1212:45:24【问题描述】:我正在尝试基于该页面的网络抓取构建数据框https://www.schoolholidayseurope.eu/choose-a-countryhtmlfirstable我对selenium说单击... 查看详情

从零开始学python-使用selenium抓取动态网页数据

...用的接口。然后通过代码请求这个接口。  法2:使用Selenium+chromedriver模拟浏览器行为获取数据。  Selenium相当于是一个机器人。可以模拟人类在浏览器上的一些行为,自动处理浏览器上的一些行为,比如点击,填充数据,删... 查看详情

用于网页抓取的 Selenium 与 BeautifulSoup

】用于网页抓取的Selenium与BeautifulSoup【英文标题】:SeleniumversusBeautifulSoupforwebscraping【发布时间】:2013-06-3010:27:59【问题描述】:我正在使用Python从网站上抓取内容。首先,我在Python上使用了BeautifulSoup和Mechanize,但我看到该网站... 查看详情

如何使用 Python 和 Selenium 进行分页抓取页面

】如何使用Python和Selenium进行分页抓取页面【英文标题】:HowtoScrapepagewithpaginationwithPython&Selenium【发布时间】:2018-06-0101:20:04【问题描述】:我一直试图从网站上删除“价格历史”标签下的表格http://merolagani.com/CompanyDetail.aspx?s... 查看详情

在 Python 中使用 Selenium 导航并使用 BeautifulSoup 进行抓取

】在Python中使用Selenium导航并使用BeautifulSoup进行抓取【英文标题】:NavigatewithSeleniumandscrapewithBeautifulSoupinPython【发布时间】:2019-08-0709:47:55【问题描述】:好的,这就是我要归档的内容:使用动态过滤的搜索结果列表调用URL点击... 查看详情

使用 selenium 进行网络抓取返回空列表

】使用selenium进行网络抓取返回空列表【英文标题】:webscrapingwithseleniumreturnsemptylist【发布时间】:2022-01-1222:07:36【问题描述】:我以前做过一些网页抓取,但我不知道javascript。我想从https://www.ces.tech/Show-Floor/Exhibitor-Directory.aspx... 查看详情

python爬虫-27-python之selenium入门,动态网页抓取

...那么方便的获取动态网页的内容,所以我们这里使用​​selenium​​,他是干啥的呢,简单的你可以理解为就是一个小机器人,由你来定义他的操作,帮你完成一系列的操作,从而获取我们想要的数据。1、介绍1.1、动态网页是什... 查看详情

网页抓取 Roblox

...】:2021-09-0701:30:12【问题描述】:我的问题是我正在使用selenium对我在roblox上的销售进行网络抓取,因为请求每次都会返回错误值,所以我让selenium将我的json响应写入文本文件。现在我只想从中获取销售价值,我该怎么做?这是... 查看详情

请教网页里的特定数据怎么抓取?

...后使用BeautifulSoup库进行页面解析,提取目标数据。2.使用Selenium库模拟浏览器操作,通过CSSSelector或XPath定位特定元素,提取目标数据。3.使用Scrapy爬虫框架,在爬虫脚本中定义提取规则,自动抓取网页并提取目标数据。需要注意... 查看详情

爬虫---selenium动态网页数据抓取

...分析ajax调用的接口。然后通过代码请求这个接口。使用Selenium+chromedriver模拟浏览器行为获取数据。方式优点缺点分析接口直接可以请求到数据。不需要做一些解析工作。代码量少,性能高。分析接口比较复杂,特别是一些通过js... 查看详情

使用 selenium 抓取需要身份验证的网页

】使用selenium抓取需要身份验证的网页【英文标题】:Scrapywithseleniumforawebpagerequiringauthentication【发布时间】:2015-04-0919:13:26【问题描述】:我正在尝试从具有大量AJAX调用和javascript执行的页面中抓取数据以呈现网页。所以我正在... 查看详情

使用 python 和 sqlite 进行网页抓取。如何有效存储抓取的数据?

】使用python和sqlite进行网页抓取。如何有效存储抓取的数据?【英文标题】:Webscrapingwithpythonandsqlite.Howtostorescrapeddataeffectively?【发布时间】:2013-04-1714:49:48【问题描述】:我想定期(例如每小时)抓取一些特定网页。这是我想... 查看详情

使用python进行网页抓取

如果您知道如何做到这一点,那么对于企业和个人使用来说,网络抓取似乎是一种非常有用的节省时间的工具。我们将重点介绍为什么您应该使用Python进行网页抓取,并为您提供有关如何完成它的快速教程,包括... 查看详情

selenium官网是动态网页吗

动态网页抓取(解析真实地址+selenium)由于网易云跟帖停止服务,现在已经在此处中更新了新写的第四章。请参照文章:前面爬取的网页均为静态网页,这样的网页在浏览器中展示的内容都在HTML源代码中。但是,由于主流网站都使... 查看详情

使用 Python 抓取 Google Scholar 网页

...】:2022-01-0200:16:33【问题描述】:您好,我需要使用bs4或Selenium从GoogleScholar的记录中提取摘要和DOI。我对这样的“academic.oup”页面有疑问:https://academic.oup.com/eurheartj/article-abstra 查看详情

使用scrapy-selenium,chrome-headless抓取动态网页(代码片段)

...中看到的内容.针对这个问题scrapy官方给出的方案是scrapy-selenium,这是一个把selenium集成到scrapy的开源项目,它使用selenium抓取已经渲染好(js代码已经执行完成)的动态网页.????事实上selenium自己也没有渲染动态网页的能力,它还是得依... 查看详情

使用python进行网页抓取

如果您知道如何做到这一点,那么对于企业和个人使用来说,网络抓取似乎是一种非常有用的节省时间的工具。我们将重点介绍为什么您应该使用Python进行网页抓取,并为您提供有关如何完成它的快速教程,包括... 查看详情