[英]Errors with Beautiful Soup output
我正在尝试使用beautifulsoup
从gamepot的网页上抓取数据。 但是,结果与我从page source viewer
获得的结果非常不同。 首先,会产生很多errors
。 例如,我们有
r = requests.get(link)
soup = bs4.BeautifulSoup(r.text)
然而soup.title
给
<title>404: Not Found - GameSpot</title>
。
我实际上要抓取的数据甚至没有出现。 是因为网页在旁边包含javascript
吗? 如果是这样,我该如何解决?
您仅向服务器发送HTTP请求。 您需要处理Javascript才能获取内容。
像Ghost这样的具有Javascript支持的无头浏览器将是一个不错的选择。
from ghost import Ghost
ghost = Ghost()
ghost.open(link)
page, resources = ghost.evaluate('document.documentElement.innerHTML;')
soup = BeautifulSoup(page)
.evaluate('document.documentElement.innerHTML')
将显示动态生成的内容,而不是查看源代码时看到的静态内容。
您的连接错误是:socket.error:[Errno 54]由对等方重置连接第一次连接到http://www.gamespot.com时,您必须捕获cookie并将其用于响应头中的其他页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.