如何使用scrapy中的选择器解析这个特定的html主体?

2024-05-16 04:25:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个特定的网站抓取一个特定的项目。在

代码片段如下:

    # Constant Div Path variables for Parameters.
    pathForMovieCardContainer = '//div[@class="card-container wow fadeIn movie-card-container"]'
    pathForMovieName = 'div[@class="card-container wow fadeIn movie-card-container"]//div[@class="cards"]//div[@class="card-details"]//div[@class="card-right"]//div[@class="card-title"]/text()'
    str_slash = "/"
    movies_dict = []
    movies = response.xpath(pathForMovieCardContainer).extract()

    for movie in movies:
        print("***********************")
        print(movie)
        mov = TestDataCrawlersItem()
        mov['name'] = Selector(text=movie).xpath(pathForMovieName).extract()

我无法从路径'div[@class="card-container wow fadeIn movie-card-container"]//div[@class="cards"]//div[@class="card-details"]//div[@class="card-right"]//div[@class="card-title"]/text()'获取文本。我不确定我的pathForMovieName是否构造正确。有人能帮我吗?谢谢!在


Tags: textrightdivforcontainermoviesmoviedetails
1条回答
网友
1楼 · 发布于 2024-05-16 04:25:03

当需要按类名选择元素时,使用.css()比使用.xpath()更简单。你可以试试这样的方法:

movies = response.css('.movie-card-container')
for movie in movies:
    item = TestDataCrawlersItem()
    item['name'] = movie.css('.card-title::text').get()

有关CSS选择器的详细信息:https://parsel.readthedocs.io/en/latest/usage.html

相关问题 更多 >