提问人:mohamed sultan 提问时间:10/9/2023 更新时间:10/10/2023 访问量:43
CSS 定位器返回空列表
css locator returns empty list
问:
我正在制作一个关于DataCamp的网页抓取课程:D
在会话中,我们正在抓取 Datacamp 网站以获取课程名称和 URL 然而 我正在尝试在我的 PC 上的 PyCharm 上达到相同的结果,
不幸的是,什么也没发生
我尝试过许多CSS定位器,但相同的结果总是空列表
你能指导我出了什么问题吗?
from scrapy import 选择器导入请求
url = 'https://www.datacamp.com/courses-all' html = requests.get(url).content sel = 选择器 ( text = html)
courses_names = sel.css('section.css-6b6e9e-search>article.css-1t5b87c-HitCard>h2.css-172ju3k-box ::text').extract()
打印(courses_names)
答:
0赞
Ahmed Ellaban
10/10/2023
#1
没有足够的信息,所以我只会解释你在做什么 从我可以看到的CSS选择器中,您正在使用通用选择器
sel.css('section.css-6b6e9e-Search>article.css-1t5b87c-HitCard>h2.css-172ju3k-Box ::text').extract()
你不应该这样做,也许是因为网站可能每次都会更改类名
只是,从开发工具检查该选择器是否在该网站上工作 并尝试打印
sel.css('section > article').get()
如果该选择器正确,它应该打印 HTML 标签
希望您在网络抓取方面好运
评论
0赞
mohamed sultan
10/10/2023
不幸的是,我使用了这段代码 courses_names = sel.css('section > article').get() 结果是 NONE ...我能问你天气这与该网站正在使用 Java 脚本有任何关系吗?我发现一些信息是这样说的,但我什至不知道如何处理它......有些人建议我使用硒.那么你的意见是什么非常感谢你
0赞
Ahmed Ellaban
10/11/2023
Assalamu alaikum 首先我也这么认为,但是,你说你正在遵循教程,所以我认为你的老师可以得到这些数据,所以你也应该得到它,但如果网站已经更新,是的,那可能是问题所在
评论