2016-03-05 118 views
1

我试图输出我在Google上搜索的地点的位置信息。我不想从搜索结果中手动复制/粘贴这些信息,而只是将结果输出到一个CSV文件中,然后我可以解析并上传到我的数据库。尝试输出从Google上的搜索结果到CSV文件的结果

问题的一部分是,虽然有很多关于如何在线执行搜索时执行此操作的示例,但问题在于我不是简单地尝试存储结果中的信息,而是返回的信息关于Google结果页中单独部分介绍的地点本身。下面是截图给你看什么,我只是讲:

enter image description here

我想要做的是出口,其设置在包含在地图下方的盒子结果返回餐厅的信息,而不是从餐厅列表下方的框外返回的搜索结果。

为了更加精确,我想要做的是导出返回的信息,当我在框的底部选择“更多地方”选项时。这样一来,带我到如下画面:

enter image description here

这第二个屏幕提供给我,我要找的餐馆列表,正是我要输出到CSV此信息文件。我将如何做到这一点?

+1

你可以使用这样的事情:http://www.crummy.com/software/BeautifulSoup/bs4/doc/ –

回答

1

实际上,我不确定这是否真的是一个Web问题本身,因为这可以使用API​​比使用刮擦更有效。您感兴趣的内容应该包含在Google提供的Places API中。下面是一些关于它的信息:

https://developers.google.com/places/ios-api/

你必须挂钩一个谷歌帐户,并获得了API令牌,但它应该是免费使用。

现在,如果你确实想要去刮擦路线,没有理由你不能在Swift中做到这一切!这确实只是拉低源代码,检查你感兴趣的段和链接,并追求这些块来将它们解析成你可以使用的数据结构。 libxml是一个便利的图书馆,可以随时为您提供帮助。这里有一个关于如何在Swift项目中使用它的信息的链接,并包含一些关于它如何工作的信息。

http://redqueencoder.com/wrapping-libxml2-for-swift/

+1

亚伦是对的;你的第一个选择应该是官方的API。抓取数据很容易出错,为特殊情况编写异常处理,缺少字段等。虽然它可能是一个新的API供您学习,但这是学习和构建的首要逻辑。 – idStar

1

我认为硒会为你做最好的工作。去试试吧。

我之前做过这种类型的东西,用来存储网页和搜索网站的位置,用于搜索不同的关键字。

祝你好运。

+0

非常感谢您的回复。我假设你说的是这个:http://docs.seleniumhq.org/我的问题是,我已经通过Selenium网站,我不确定我会用它来达到我的目的。你能否进一步详细说明这将如何成为我的解决方案?再次感谢您的时间和帮助。 – syedfa

+1

通过硒教程。你会知道你如何解决你的问题。 – Devz