我无法弄清楚我在代码中所犯的任何错误。 Xpath没有 的问题。如果单独检查,功能正常。我跑的时候 蜘蛛它得到以下错误。基本上,它到达时就会发生 要处理的Layer2函数。当我检查了第一次生产 链接我可以注意到那些是完整的网址。我该怎么做 在这一刻得到结果。提前谢谢。
import requests
from lxml import html
def Startpoint():
address = "https://www.sephora.ae/en/stores/"
page = requests.get(address)
tree = html.fromstring(page.text)
titles=tree.xpath('//li[contains(@class,"level0")]')
for title in titles:
href = title.xpath('.//a[contains(@class,"level0")]/@href')[0]
Layer2(href)
def Layer2(address):
page = requests.get(address)
tree = html.fromstring(page.text)
titles=tree.xpath('//div[@class="product-manufacturer"]')
for title in titles:
href = title.xpath('.//a/@href')[0]
Endpoint(href)
def Endpoint(address):
page = requests.get(address)
tree = html.fromstring(page.text)
titles=tree.xpath('//div[@class="add-to-cart"]')
for title in titles:
Name = title.xpath('.//div[@class="h2"]/text()')[0]
Price = title.xpath('.//span[@class="price"]/text()')[0]
print('{}{}'.format(Name, Price))
Startpoint()
根据Max Paymar的建议修改上述代码。现在它正在发挥作用。
答案 0 :(得分:1)
我从来没有使用过这个库,所以我可能错了,但看起来url变量需要修改,以便它是一个字符串。错误信息中的括号'['看起来确实不合适。