我正试图从Zalora那里获得3件事:1。项目品牌2。项目名称3。项目价格(旧)
以下是我最初的尝试:
from bs4 import BeautifulSoup
import requests
def make_soup(url):
html = requests.get(url)
bsObj = BeautifulSoup(html.text, 'html.parser')
return bsObj
soup = make_soup('https://www.zalora.com.hk/men/clothing/shirt/?gender=men&dir=desc&sort=popularity&category_id=31&enable_visual_sort=1')
itemBrand = soup.find("span",{"class":"b-catalogList__itmBrand fsm txtDark uc js-catalogProductTitle"})
itemName = soup.find("em",{"class":"b-catalogList__itmTitle fss"})
itemPrice = soup.find("span",{"class":"b-catalogList__itmPrice old"})
print(itemBrand, itemName, itemPrice)
输出:
None None None
然后我做进一步的调查:
productsCatalog = soup.find("ul",{"id":"productsCatalog"})
print(productsCatalog)
输出:
<ul class="b-catalogList__wrapper clearfix" id="productsCatalog">
这是令我困惑的奇怪的事情,在ul标签中应该有很多标签(我需要的3样东西都在那些隐藏的标签中),为什么它们不显示?
事实上,我试图在ul标签中使用BeautifulSoup刮取的所有内容都没有输出。
由于此内容由JavaScript呈现,因此无法使用请求
模块访问它。您应该使用selenium
自动化浏览器,然后使用BeautifulSoup
解析实际的html
。
这就是使用chromedriver的selenium
的方法:
from selenium import webdriver
from bs4 import BeautifulSoup
chrome_driver = "path\\to\\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_driver)
target = 'https://www.zalora.com.hk/men/clothing/shirt/?gender=men&dir=desc&sort=popularity&category_id=31&enable_visual_sort=1'
driver.get(target)
soup = BeautifulSoup(driver.page_source, "lxml")
print(soup.find("span",{"class":"b-catalogList__itmBrand fsm txtDark uc js-catalogProductTitle"}).get_text().strip())
print(soup.find("span", {'class': 'b-catalogList__itmPrice old'}).get_text().strip())
print(soup.find("em",{"class":"b-catalogList__itmTitle fss"}).get_text().strip())
输出:
JAXON
HK$ 149.00
EMBROIDERY SHORT SLEEVE SHIRT
我试图刮一个页面与美丽的汤,有
我正试图从一个出现在各种网页上的表格中提取一些信息(我为没有透露网页而道歉)。 图像1 问题是子类和每个子类的行数都可能发生变化。因此,例如,在某些情况下,第一子类可以具有1个项目,第二子类可以具有3个项目,第三子类可以具有2个项目。另外,我还可以得到一个只有子类1和2的表。 我想以这样一种格式获取数据,即子类值以以下格式出现在相关信息行旁边(如图1所示): 图4 但是,我有点纠结于如何在pyth
如果我想从锚标记中的href属性和字符串“水平零黎明”中刮出链接。 因为锚标记没有自己的类,并且在整个源代码中有更多的锚标记。 使用beautifulSoup可以做些什么来获取所需的数据?
问题内容: 我没有使用python,BeautifulSoup,Selenium等的经验,但是我很想从网站上抓取数据并将其存储为csv文件。我需要的单个数据样本编码如下(一行数据)。 我需要的输出是 我发现这些数据没有ID或类,但仍以通用文本形式出现在网站中。为此,我分别尝试使用BeautifulSoup和Python Selenium,在这两种方法中,我都陷入了无法提取的麻烦,因为我没有看到任何
我需要从一个网站刮去内容(只是标题)。我做了一个页面,但我会需要做的网站上的所有页面。目前,我正在做以下工作: 我知道,当我移动到下一页时,url会发生如下变化: 我尝试使用next_page_url=base_url+next_page_partial构建一个递归函数,但它不会移动到下一页。 我遵循这个问题(和答案):移动到下一页使用BeautifulSoup刮刮 如果你需要更多的信息请告诉我。
嗨,我想刮与美丽的汤,但通常iframe src应该是一个html链接,这次我遇到一个wordpress URL,基本上是文件夹结构,导致PHP文件。 我在想有没有什么办法可以把那个文件里的桌子刮开? 当我检查Chrome中的元素时,表DIV标记存在,然而,当我用BeautifulSoup加载链接时,iframe中的内容就会消失(表)。 请帮忙