首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python -沃尔玛的Web抓取

Python -沃尔玛的Web抓取
EN

Stack Overflow用户
提问于 2021-04-18 13:06:45
回答 2查看 391关注 0票数 1

我正在尝试使用Python和BeautifulSoup bs4Walmart获取一些数据。

简单地说,我编写了一个获取所有类别名称的代码,这是可行的:

代码语言:javascript
运行
AI代码解释
复制
import requests
from bs4 import BeautifulSoup

baseurl = 'https://www.walmart.com/'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}

r = requests.get('https://www.walmart.com/all-departments')

soup = BeautifulSoup(r.content, 'lxml')

sub_list = soup.find_all('div', class_='alldeps-DepartmentNav-link-wrapper display-inline-block u-size-1-3')

print(sub_list)

问题是,当我尝试使用下面的代码从这个link获取值时,我得到的结果是空的:

代码语言:javascript
运行
AI代码解释
复制
import requests
from bs4 import BeautifulSoup

baseurl = 'https://www.walmart.com/'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}

r = requests.get('https://www.walmart.com/browse/snacks-cookies-chips/cookies/976759_976787_1001391')

soup = BeautifulSoup(r.content, 'lxml')

general_list = soup.find_all('a', class_='product-title-link line-clamp line-clamp-2 truncate-title')

print(general_list)

当我搜索旧的文档时,我只看到SerpApi解决方案,但它是付费解决方案,所以有什么方法可以获得值吗?还是我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-19 12:14:31

这里有一个很好的Selenium教程:https://selenium-python.readthedocs.io/getting-started.html#simple-usage

我为您编写了一个简短的脚本作为入门指南。您只需下载chromedriver(Chromium)并将其放入path。对于Windows,chromedriver将有.exe分辨率

代码语言:javascript
运行
AI代码解释
复制
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')
driver.get("https://www.walmart.com/browse/snacks-cookies-chips/cookies/976759_976787_1001391")
assert "Walmart.com" in driver.title
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, ".product-title-link.line-clamp.line-clamp-2.truncate-title>span")))

elems = driver.find_elements_by_css_selector(".product-title-link.line-clamp.line-clamp-2.truncate-title>span")
for el in elems:
    print(el.text)
driver.close()

我的输出:

代码语言:javascript
运行
AI代码解释
复制
Lance Sandwich Cookies, Nekot Lemon Creme, 8 Ct Box
Nature Valley Biscuits, Almond Butter Breakfast Biscuits w/ Nut Filling, 13.5 oz
Pepperidge Farm Soft Baked Strawberry Cheesecake Cookies, 8.6 oz. Bag
Nutter Butter Family Size Peanut Butter Sandwich Cookies, 16 oz
SnackWell's Devil's Food Cookie Cakes 6.75 oz. Box
Munk Pack Protein Cookies, Variety Pack, Vegan, Gluten Free, Dairy Free Snacks, 6 Count
Great Value Twist & Shout Chocolate Sandwich Cookies, 15.5 Oz.
CHIPS AHOY! Chewy Brownie Filled Chocolate Chip Cookies, 9.5 oz
Nutter Butter Peanut Butter Wafer Cookies, 10.5 oz
Nabisco Sweet Treats Cookie Variety Pack OREO, OREO Golden & CHIPS AHOY!, 30 Snack Packs (2 Cookies Per Pack)
Archway Cookies, Soft Dutch Cocoa, 8.75 oz
OREO Double Stuf Chocolate Sandwich Cookies, Family Size, 20 oz
OREO Chocolate Sandwich Cookies, Party Size, 25.5 oz
Fiber One Soft-Baked Cookies, Chocolate Chunk, 6.6 oz
Nature Valley Toasted Coconut Biscuits with Coconut Filling, 10 ct, 13.5 oz
Great Value Duplex Sandwich Creme Cookies Family Size, 25 Oz
Great Value Assorted Sandwich creme Cookies Family Size, 25 oz
CHIPS AHOY! Original Chocolate Chip Cookies, Family Size, 18.2 oz
Archway Cookies, Crispy Windmill, 9 oz
Nabisco Classic Mix Variety Pack, OREO Mini, CHIPS AHOY! Mini, Nutter Butter Bites, RITZ Bits Cheese, Easter Snacks, 20 Snack Packs
Mother's Original Circus Animal Cookies 11 oz
Lotus Biscoff Cookies, 8.8 Oz.
Archway Cookies, Crispy Gingersnap, 12 oz
Great Value Vanilla Creme Wafer Cookies, 8 oz
Pepperidge Farm Verona Strawberry Thumbprint Cookies, 6.75 oz. Bag
Absolutely Gluten Free Coconut Macaroons
Sheila G's Brownie Brittle GLUTEN-FREE Chocolate Chip Cookie Snack Thins, 4.5oz
CHIPS AHOY! Peanut Butter Cup Chocolate Cookies, Family Size, 14.25 oz
Great Value Lemon Sandwich Creme Cookies Family Size, 25 oz
Keebler Sandies Classic Shortbread Cookies 11.2 oz
Nabisco Cookie Variety Pack, OREO, Nutter Butter, CHIPS AHOY!, 12 Snack Packs
OREO Chocolate Sandwich Cookies, Family Size, 19.1 oz
Lu Petit Ecolier European Dark Chocolate Biscuit Cookies, 45% Cocoa, 5.3 oz
Keebler Sandies Pecan Shortbread Cookies 17.2 oz
CHIPS AHOY! Reeses Peanut Butter Cup Chocolate Chip Cookies, 9.5 oz
Fiber One Soft-Baked Cookies, Oatmeal Raisin, 6 ct, 6.6 oz
OREO Dark Chocolate Crme Chocolate Sandwich Cookies, Family Size, 17 oz
Pinwheels Pure Chocolate & Marshmallow Cookies, 12 oz
Keebler Fudge Stripes Original Cookies 17.3 oz
Pepperidge Farm Classic Collection Cookies, 13.25 oz. Box
票数 2
EN

Stack Overflow用户

发布于 2021-04-18 13:12:45

这是因为网站是动态渲染的。因此,在显示产品之前,javascript首先需要运行。因此,您需要在某个地方运行javascript (bs不能做到这一点),请看一下selinium库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67148905

复制
相关文章
如何使用python进行web抓取?
本文摘要自Web Scraping with Python – 2015 书籍下载地址:https://bitbucket.org/xurongzhong/python-chinese-library/downloads 源码地址:https://bitbucket.org/wswp/code 演示站点:http://example.webscraping.com/ 演示站点代码:http://bitbucket.org/wswp/places 推荐的python基础教程: http://www.divei
CDA数据分析师
2018/02/05
5.6K0
如何使用python进行web抓取?
教程|Python Web页面抓取:循序渐进
今天,要为大家带来Python中Web页面的抓取教程。许多人看到代码就觉得头疼或是特别困难,其实Web爬虫是非常简单的。Python是面向对象的语言,而且与其他语言相比,类和对象都更容易操作,所以是Python Web爬虫最简单的入门方法之一。此外,还有许多库能简化Python Web爬虫工具的构建流程。
Oxylabs
2020/06/30
9.3K0
教程|Python Web页面抓取:循序渐进
Python抓取数据_python抓取游戏数据
本文整理自慕课网《Python开发简单爬虫》,将会记录爬取百度百科“python”词条相关页面的整个过程。
全栈程序员站长
2022/09/20
2K0
Python实现抓取的方法
在进行网络爬虫、数据采集或访问受限网站时,使用代理IP可以帮助我们规避IP封禁和请求频率限制的问题。本文将为大家分享如何使用Python抓取 IP的方法,以便在应用程序中使用。
华科云商小孙
2023/10/07
2330
Python抓取壁纸
安装库 在开始编写代码之前需要安装几个库 requests 可以发送请求的库 beautifulsoup4 可以从HTML或XML文件中提取数据的Python库 lxml 支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高 下面是安装命令,依次执行即可: pip3 install requests pip3 install beautifulsoup4 pip3 install lxml 首次分析 分析页面结构是必不可少的一步,只有了解到该页面如何组成才能够如何根据页面结构编写代码
用户7162790
2022/03/23
1.9K0
Python抓取壁纸
python爬虫进行Web抓取LDA主题语义数据分析报告
从网站提取数据的方法称为网络抓取。也称为网络数据提取或网络收集。这项技术的使用时间不超过3年。
拓端
2020/09/25
2.3K0
python实现抓取web和xcx数据推送到wx和邮件
每天定时抓取web端个小程序端数据,退送wx指定人/群或者邮件。本次通过邮件和wx,推送数据到邮箱或wx指定人
用户6367961
2020/09/24
1.3K0
python爬虫图片抓取(python从网络上抓取照片)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128295.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/28
1.6K0
python爬虫图片抓取(python从网络上抓取照片)
Web安全之BurpSuite抓取HTTPS请求
https://portswigger.net/burp/help/proxy_options_installingCAcert.html
Jetpropelledsnake21
2019/02/15
15.6K0
python - 抓取页面上的链接
除了C/C++以外,我也接触过不少流行的语言,PHP、java、javascript、python,其中python可以说是操作起来最方便,缺点最少的语言了。
phith0n
2020/10/15
2.8K0
「docker实战篇」python的docker-抖音web端数据抓取(19)
PS:text文本中的数据1000条根本不够爬太少了,实际上是app端和pc端配合来进行爬取的,pc端负责初始化的数据,通过userID获取到粉丝列表然后在不停的循环来进行爬取,这样是不是就可以获取到很大量的数据。
IT架构圈
2019/04/26
1.5K0
「docker实战篇」python的docker-抖音web端数据抓取(19)
Python抓取网页内容
import urllib.request response=urllib.request.urlopen("http://www.baidu.com") print(response.read())
py3study
2020/01/06
3.5K0
独家 | 手把手教你用Python进行Web抓取(附代码)
作为一名数据科学家,我在工作中所做的第一件事就是网络数据采集。使用代码从网站收集数据,当时对我来说是一个完全陌生的概念,但它是最合理、最容易获取的数据来源之一。经过几次尝试,网络抓取已经成为我的第二天性,也是我几乎每天使用的技能之一。
数据派THU
2018/12/18
4.8K0
独家 | 手把手教你用Python进行Web抓取(附代码)
Python抓取网页图片
网上的代码基本上都是python2,这里的代码使用的是python3注意没有urllib2这个库了。
里克贝斯
2021/05/21
4.3K0
Python抓取网页图片
Katalon Studio元素抓取功能Spy Web介绍
Katalon Studio提供了Web Object Spy功能,该功能可以主动抓取元素及其属性。同时,内置的验证和Highlight显示功能可以进一步验证元素定位的准确性。用户使用Web Object Spy可以随心所欲的抓取应用程序界面中的任何元素及其属性,并且保存到元素对象库中。备注:博主使用Katalon Studio当前最新版本:5.5.0
Altumn
2019/10/21
2.2K0
Katalon Studio元素抓取功能Spy Web介绍
web爬虫-用RoboBrowser登录和抓取数据
RoboBrowser是一个简单的Python库,用于在没有独立Web浏览器的情况下浏览Web。RoboBrowser可以获取页面,单击链接和按钮,然后填写并提交表单。如果您需要与没有API的Web服务进行交互,RoboBrowser可以提供很好的帮助。
XXXX-user
2019/07/23
2.8K0
Python爬虫:抓取手机APP的数据
摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题。 1 抓取APP数据包 方法详细可以参考这篇博文:http://my.
小小科
2018/06/20
1.7K0
Python:网页的抓取、过滤和保存
目的地是ZOL笑话大全 地址:http://xiaohua.zol.com.cn/new/2.html 网址的组成要灵活点,这个网站的地址后面是可变的,比如3.html、4.html 所以这样搞:url=”http://xiaohua.zol.com.cn/new/%d.html”%(page) page是动态赋值的
py3study
2020/01/08
2.1K0
渔具界的沃尔玛Bass Pro Shops
Bass Pro Shops(以下简称Bass Pro)自 1972 年开始营业,现在在北美拥有 100 多家商店,几乎在美国每一个城市都有分布。每年接待超过 1.2 亿游客,可以说是户外爱好者的“迪士尼乐园” 。
知行软件EDI
2022/06/06
6790
渔具界的沃尔玛Bass Pro Shops
Python爬虫抓取网络照片
本节编写一个快速下载照片的程序,通过百度图片下载您想要的前 60 张图片,并将其保存至相应的目录。本节实战案例是上一节《Python Request库安装和使用》图片下载案例的延伸。
用户10002156
2023/08/11
2920
Python爬虫抓取网络照片

相似问题

Web抓取:用Python抓取多个Web

31

抓取Python Web抓取JSON

119

Python web抓取

41

Web抓取- Python

12

Web抓取python

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文