首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BeautifulSoup进行错误解析

使用BeautifulSoup进行错误解析
EN

Stack Overflow用户
提问于 2018-03-04 21:36:21
回答 1查看 60关注 0票数 0

我想访问这个网站的标题:https://zenodo.org/search?page=1&size=20&q=broma实际上,我使用的是BeautifulSoup,但是当我用这个代码访问时,结果是空的([]):

代码语言:javascript
复制
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

def generateSoup(my_url):
    uClient = uReq(my_url)
    page_html = uClient.read()   
    uClient.close()
    return soup(page_html,"lxml")

page_soup = generateSoup('https://zenodo.org/search?page=1&size=20&q=broma')
containers = page_soup.findAll('a',{'class':'ng-binding'})
print(containers)

如果你能纠正我的代码,或者给我另一个我可以使用的库,我将非常感谢你的帮助。

谢谢大家。

编辑:问题是HTML WebSite没有这个元素:Element

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-04 22:02:17

本网站使用AJAX显示结果,你可以找到AJAX请求来获得JSON结果。

代码语言:javascript
复制
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
import json

def generateJson(my_url):
    uClient = uReq(my_url)
    page_html = uClient.read()
    uClient.close()
    return json.loads(page_html.decode("utf-8"))

page_json = generateJson('https://zenodo.org/api/records/?page=1&size=20&q=broma')
print(page_json["hits"]["hits"][0]["metadata"]["title"])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49096001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档