Метод красивых строк из супа ведет себя странно - PullRequest
0 голосов
/ 11 сентября 2011

Я пытаюсь получить изображение на этой странице - http://www.bkstr.com/webapp/wcs/stores/servlet/CourseMaterialsResultsView?catalogId=10001&categoryId=9604&storeId=10161&langId=-1&programId=562&termId=100020629&divisionDisplayName=Stanford&departmentDisplayName=MATH&courseDisplayName=51&sectionDisplayName=01&demoKey=d&purpose=browse

Я делаю обычные открытые ссылки urllib (вам нужно отслеживать куки, если кто-то собирается следовать за ними) и сделай это

data =  soup.findAll("div",{"class":"efMaterialImage left"))

, который отлично работает.

Странно, когда я делаю test = data.string и печатаю результат, консоль показывает «Нет».

Есть идеи, почему?

1 Ответ

1 голос
/ 11 сентября 2011

findAll возвращает список совпадений, а не одно совпадение. Однако список Python не имеет атрибута «строка».

Попробуйте data[0].

Edit:

Кажется, что строка работает, только если у тега есть один дочерний элемент и его строка. <div>something</div> будет работать, но <div><p>something</p></div> не будет. Используйте больше селекторов или используйте .contents вместо.

...