如何解决使用Beautifulsoup进行Python网络抓取:降低商店
我是新手。我被要求从以下网站获取商店编号,城市,州的列表:https://www.lowes.com/Lowes-Stores
以下是我到目前为止尝试过的内容。由于该结构没有属性,因此我不确定如何继续执行代码。请指导!
source
解决方法
您在for循环中找到了包含状态存储查找所需链接的列表元素。您需要从每个“ li”元素内的“ a”标签中获取href属性。
这只是第一步,因为您需要点击这些链接来获取每个州的存储结果。
由于您知道此状态链接结果的结构,因此只需执行以下操作:
git commit --amend
肯定有更有效的方法,但是列表非常小,可以使用。
一旦有了每个州的链接,就可以为每个州创建另一个请求,以访问这些商店结果页面。然后从每个州页面上的那些搜索结果链接中获取href属性。
for i in lowes_list:
list_items = i.find_all('li')
for x in list_items:
for link in x.find_all('a'):
print(link['href'])
包含城市和商店编号。
这里是一个完整的例子。我包括很多评论来说明要点。
您几乎已经拥有了27行之前的所有内容,但是您需要按照每个州的链接进行操作。解决这些问题的一种好方法是,首先打开开发工具,在Web浏览器中测试路径,并观看HTML,这样您就可以从哪里开始编写代码了。
此脚本将获取您需要的数据,但不提供任何数据表示。
<a href="/store/AK-Anchorage/0289">Anchorage Lowe's</a>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。