我正在使用Beautiful Soup and Requests尝试从网站上抓取数据,并且在使用特定CSS选择器提取数据时遇到困难。我正在使用SelectorGadget(https://selectorgadget.com/)来标识我在此站点上正在寻找的选择器:https://www.oddsshark.com/ncaab/odds class ArticleViewSet(ViewSet):
queryset = Article.objects.all()
def list(self, request):
serializer = ArticleSerializer(ArticleViewSet.queryset, many=True)
return Response({article['id']: article for article in serializer.data})
def retrieve(self, request, pk=None):
# ...
由它返回。但是,这不起作用,也不能转义反斜杠。我已经尝试了多种变体,并在网上搜寻,但是没有任何运气。我是python的初学者,所以我有一种直觉,我忽略了一些显而易见的东西。
此代码重现了我遇到的问题。
.op-bovada.\lv
我在R中执行此操作没有问题-它只需要双反斜杠,所以我知道那里有数据,但此刻我在脑海中狂奔。
答案 0 :(得分:1)
为什么不使用漂亮的汤查找方法?
print(len(odds.find_all(class_='op-bovada.lv')))
问题是由select解析传入的字符串的方式引起的。标识一个类,但是在这种情况下,。是类的一部分,因此解析器无法正确解释它。通过。放入find_all的类参数中,您将获得所需的效果。