Python 抓取网页时需要选择正确的选择器
这是我第一次使用Scrapy,在看了几篇辅导之后,我正在尝试刮取这个url 我想获得每个用户配置文件的链接。我用我的刮壳做了如下操作Python 抓取网页时需要选择正确的选择器,python,css,scrapy,screen-scraping,Python,Css,Scrapy,Screen Scraping,这是我第一次使用Scrapy,在看了几篇辅导之后,我正在尝试刮取这个url 我想获得每个用户配置文件的链接。我用我的刮壳做了如下操作 print(response.css("#main > div > div > div > div:nth-child(2) > div.hckui__layout__container > div.hckui__layout__wrapper1170 hckui__layout__fullScreenHeight >
print(response.css("#main > div > div > div > div:nth-child(2) > div.hckui__layout__container > div.hckui__layout__wrapper1170 hckui__layout__fullScreenHeight > div > div.common-overlay__parent__1A_nT > div.grid__gridBasic__fjt5B grid__grid__1QeD6 grid__guttersH__2MYvz grid__guttersV__3M28R > div:nth-child(1) > div.undefined hckui__layout__flexCenterItems > div.user_card__content__1YVc5 > a.hckui__typography__bodyM hckui__typography__link hckui__typography__bold::attr(href)").extract())
但我只得到[]作为输出
我想获得附件中指定的链接,有人能看一下并告诉我我的命令是否有问题吗
当我使用google的chorme inspect选项并立即复制选择器时,我得到了相同的输出
#main > div > div > div > div:nth-child(2) > div > div > div > div.common-overlay__parent__1A_nT > div > div:nth-child(1) > div > div > a
or even using
#main > div > div > div > div:nth-child(2) > div > div > div > div.common-overlay__parent__1A_nT > div
这是因为您在Chrome控制台中看到的html是用javascript构建的客户端。默认情况下,Scrapy不会在服务器发送页面源代码时解释javascript和读取页面源代码。查看我的答案以找到问题的解决方案。这是因为您在Chrome控制台中看到的html是用javascript构建的客户端。默认情况下,Scrapy不会在服务器发送页面源代码时解释javascript和读取页面源代码。请参阅我的答案以找到问题的解决方案。要检查刮擦爬虫得到的响应:-
请参阅splash docs:以检查scrapy crawler得到的响应:-
参考splash docs:@noorhashem很高兴我能help@noorhashem很高兴我能帮忙