在制作脚本从网址中提取标题时遇到此错误。 (编辑;应该添加我已确保安装了python 3并已全部安装了request,lxml和beautiful soup模块)
UserWarning:未明确指定解析器,因此我正在为此系统使用最佳的HTML解析器(“ lxml”)。通常这不是问题,但是如果您在另一个系统或不同的虚拟环境中运行此代码,则它可能使用不同的解析器,并且行为不同。导致此警告的代码在news.py文件的第9行。要消除此警告,请将附加参数'features =“ lxml”'传递给BeautifulSoup构造函数。汤= BeautifulSoup(r.text)
`import requests
from bs4 import BeautifulSoup
import lxml
url = 'http://www.news.google.com'
r = requests.get(url)
soup = BeautifulSoup(r.text)
for story_heading in soup.find_all(class_="story-heading"):
print()`
答案 0 :(得分:0)
请在您的终端机/ cmd中执行 var express = require('express'),
app = express(),
http = require('http').createServer(app),
io = require('socket.io').listen(http);
http.listen(process.env.PORT || 3000);
console.log('Serwer wystartował na porcie: 3000');
//obsługa połączeń
app.use(express.static(__dirname + '/client'));
var gracze = [];
//funkcja tworząca graczy
function nowyGracz() {
this.nazwa;
this.id = 1;
this.x = Math.random() * 500;
this.y = Math.random() * 500;
//losowe kolory
var r = Math.random()*255>>0;
var g = Math.random()*255>>0;
var b = Math.random()*255>>0;
this.kolor = "rgba(" + r + ", " + g + ", " + b + ", 0.5)";
this.promien = 30;
this.predkosc = 2;
return {'nazwa' : this.nazwa,"x" : this.x,"y" : this.y,"kolor" : this.kolor, "promien" : this.promien,"predkosc" : this.predkosc}
}
//połączenie do serwera i obsluga polaczen kazdego nowego gracza
io.sockets.on('connection', function(socket){
var gracz = new nowyGracz(); //nowy gracz
gracze.push(gracz); //wrzuc gracza do tablicy
//tablica z graczami
socket.broadcast.emit('currentUsers', gracze);
socket.emit('welcome', gracz, gracze);
//rozłączono
socket.on('disconnect', function(){
gracze.splice(gracze.indexOf(gracz), 1);
console.log(gracze);
socket.broadcast.emit('graczWyszedl', gracze);
});
socket.on('wcisniety', function(przycisk){
if(przycisk === 38 || przycisk === 87){
gracz.y -= gracz.predkosc;
socket.emit('PlayersMoving', gracze);
socket.broadcast.emit('PlayersMoving', gracze);
}
if(przycisk === 40 || przycisk === 83){
gracz.y += gracz.predkosc;
socket.emit('PlayersMoving', gracze);
socket.broadcast.emit('PlayersMoving', gracze);
}
if(przycisk === 37 || przycisk === 65){
gracz.x -= gracz.predkosc;
socket.emit('PlayersMoving', gracze);
socket.broadcast.emit('PlayersMoving', gracze);
}
if(przycisk === 39 || przycisk === 68){
gracz.x += gracz.predkosc;
socket.emit('PlayersMoving', gracze);
socket.broadcast.emit('PlayersMoving', gracze);
}
});
});
,以解决此问题。
您可以使用pip install lxml
或lxml
或 other 查看区别HERE
示例:
html.parser
除了soup = BeautifulSoup(r.text, 'lxml')
之外,您还可以从文档中选择一个适合您的需求。
示例(如果我们要使用'lxml'
):
html5lib