【发布时间】:2017-06-02 01:20:05
【问题描述】:
我现在正在读一本关于 Python 的书。有一个家庭作业的小项目: “编写一个程序,访问 Flickr 或 Imgur 等照片共享网站,搜索照片类别,然后下载所有生成的图像。” 建议仅使用 webbrowser、requests 和 bs4 库。
我不能为 Flickr 做这件事。我发现解析器无法进入元素内部(div class="interaction-view")。在 Chrome 中使用“检查元素”我可以看到其中有一些“div”元素和“a”元素。但是,当我使用 bs4 库时,它看不到它。
我的代码是这样的:
#!/usr/bin/env python3
# To download photos from Flickr
import requests, bs4
search_name = "spam"
website_name = requests.get('https://www.flickr.com/search/?text='
+ search_name)
website_name.raise_for_status()
parse_obj = bs4.BeautifulSoup(website_name.text, "html.parser")
elements = parse_obj.select('body #content main .main.search-photos-results \
.view.photo-list-view.requiredToShowOnServer \
.view.photo-list-photo-view.requiredToShowOnServer.awake \
.interaction-view')
print(elements)
它只打印:
[<div class="interaction-view"></div>, <div class="interaction-view"></div>...]
没有任何嵌套元素,我不明白为什么...... 谢谢!
【问题讨论】:
-
你能更正代码块吗?第一行应该是
#!/usr/bin/env python3,然后Soup.select应该是parse_obj.select。这使得人们更容易复制
标签: python parsing beautifulsoup flickr