如何使用Python从Target.Com刮取Target商店位置数据?

197 阅读3分钟

DZone>大数据区>如何使用Python从Target.Com上抓取Target商店位置数据?

如何使用Python从Target.Com上提取Target商店的位置数据?

了解如何使用Python提取Target商店的位置数据。

Sabine Ryhner user avatar通过

萨宾-雷纳(Sabine Ryhner

-

Aug. 04, 21 - 大数据区 -教程

喜欢 (2)

评论

保存

鸣叫

2.20K浏览次数

加入DZone社区,获得完整的会员体验。

免费加入

网络数据抓取是一种更快、更有组织的方式,可以获得关于商店位置的详细信息,或者从网站上抓取位置,而不是用时间去收集信息。这个教程博客是为了刮取Target.com上的商店位置以及联系数据,Target是美国最大的折扣店零售商之一。
在这里的教程博客中,我们的Target商店定位器将根据所提供的邮政编码搜刮Target商店的位置信息。

我们可以抓取以下数据字段。

  1. 商店的名称
  2. 商店的地址
  3. 工作日
  4. 电话
  5. 开放时间

这是数据的截图,将作为本教程的一部分进行抓取。

我们可以从Target.com上的商店详情页中提取很多数据,如杂货店和药店的时间,但是,我们将继续使用这些数据。

搜集背后的逻辑

从Target.com创建一个搜索结果页面的URL。让我们使用纽约的克林顿这个地点。在这里,我们需要手动制作URL,以便从页面上刮取结果--www.target.com/store-locat…
然后在得到URL后,用Python Requests轻松下载搜索结果页面的HTML。我们利用Python请求来下载整个页面的HTML。
然后将数据保存在JSON文件中。

你的要求是什么?

在Python 3的网页抓取教程中,我们需要一些包来下载和解析HTML。让我们来看看软件包的要求。

包的安装

使用Python安装给定的软件包,网址是(https://pip.pypa.io/en/stable/installation/)
使用Python Requests提出请求,以及下载网页的HTML内容,网址是(https://docs.python-requests.org/en/master/user/install/)
使用Unicode CSV处理输出文件中的Unicode字符。然后使用pip安装,并安装unicodecsv。

编码

如果这里给出的植入方法不起作用,那么你可以点击这里的链接。

运行网络搜刮器

假设网络搜刮器的名字是target.py。如果,你在命令提示符中输入一个脚本名称,同时使用-h

usage: target.py [-h] zipcode 
positional arguments: zipcode Zip code 
optional arguments: -h, --help show this help message and exit

争议的邮编是用于查找任何特定地点附近的商店的邮编。
例如,要获得纽约克林顿附近的所有目标商店,那么我们将把争议的邮编定为12901,用于这里的邮编。

python target.py 12901

它将产生名为12901-locations.json的JSON结果文件,该文件将位于脚本的类似文件夹中。
它的输出文件看起来就像这样。

{        "County": "Clinton",         "Store_Name": "Plattsburgh",         "State": "NY",         "Street": "60 Smithfield Blvd",         "Stores_Open": [            "Monday-Friday",             "Saturday",             "Sunday"        ],         "Contact": "(518) 247-4961",         "City": "Plattsburgh",         "Country": "United States",         "Zipcode": "12901-2151",         "Timings": [            {                "Week Day": "Monday-Friday",                 "Open Hours": "8:00 a.m.-10:00 p.m."            },             {                "Week Day": "Saturday",                 "Open Hours": "8:00 a.m.-10:00 p.m."            },             {                "Week Day": "Sunday",                 "Open Hours": "8:00 a.m.-9:00 p.m."            }        ]    }

你可以在下面的评论区分享你对这个搜刮工具的看法。

局限性

该代码需要从Target.com刮取所有可用的邮政编码的数据。如果你需要任何关于刮取困难网站的专业帮助,或者需要Target.com的API服务,那么只要填写下面的表格就可以联系我们。

主题。

python, 基于位置的应用程序, 地理空间, 大数据, 教程

经Sabine Ryhner授权发表于DZone。点击这里查看原文。

DZone贡献者所表达的观点属于他们自己。

DZone上的热门文章


评论

大数据 合作伙伴资源