我尝试使用python和BeautifulSoup从中文网页获取内容。但是当我打印结果时,我在控制台中什么都没有。所以,有人可以告诉我为什么吗?(ps:我也改变了一些其他网页,有时代码有效,但有时它不会 这是我的代码:
# _*_ coding:utf-8 _*_
from bs4 import BeautifulSoup
import urllib2
import urllib
import urllib2
url='http://finance.sina.com.cn/chanjing/cyxw/2015-12-17/doc-ifxmttcn4893506.shtml'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
try:
request=urllib2.Request(url)
response=urllib2.urlopen(request)
html=response.read()
content=BeautifulSoup(response)
print content
except urllib2.URLError,e:
if hasattr(e,"code"):
print e.code
if hasattr(e,"reason"):
print e.reason
这是我的结果: enter image description here`
答案 0 :(得分:2)
尝试
content=BeautifulSoup(html)
答案 1 :(得分:0)
试试这个:
;;****TEMPLATES*****
(deftemplate pc
(slot tipo)
(slot oc)
(multislot procesador)
(multislot ram)
(multislot placabase)
(multislot discoduro)
(multislot grafica)
(multislot fuente)
(slot precio))
;;****FUNCTIONS*****
(deffunction pregunta (?pregunta $?respuestas-posibles)
(printout t ?pregunta)
(bind ?respuesta (read))
(if (lexemep ?respuesta)
then (bind ?respuesta (lowcase ?respuesta)))
(while (not (member ?respuesta ?respuestas-posibles)) do
(printout t ?pregunta)
(bind ?respuesta (read))
(if (lexemep ?respuesta)
then (bind ?respuesta (lowcase ?respuesta))))
?respuesta)
(deffunction sino (?pregunta)
(bind ?respuesta (pregunta ?pregunta si no s n))
(if (or (eq ?respuesta si) (eq ?respuesta s))
then TRUE
else FALSE))
(deffunction tipo (?pregunta)
(bind ?respuesta (pregunta ?pregunta g d o))
(switch ?respuesta
(case g then (return g))
(case d then (return d))
(case o then (return o))
))
;;******FACTS*******
(deffacts inicia
(pc))
;;******RULES*******
(defrule tipopc
?A <- (pc (procesador)(ram)(placabase)(discoduro)(grafica)(fuente))
=>
(switch (tipo "Tipo (juegos:g/diseño:d/otros:o)? ")
(case g then ( modify ?A (tipo g)(oc nose)(procesador "i5 4690_Intel")
(ram "2x4GB 2133 cl9")
(placabase "Gigabyte_H97M-HD3 ejemplo")
(discoduro "1Tb")
(grafica "GTX 960")
(fuente "700W+ silver")
(precio 550)))
(case d then ( modify ?A (tipo d)(oc nose)(procesador "i7 4790_Intel")
(ram "2x8GB 2133 cl9")
(placabase "Gigabyte_H97M-HD3 ejemplo")
(discoduro "1Tb HDD + 120gb SSD")
(grafica "kuadro k620")
(fuente "700W+ silver")
(precio 700)))
(case o then ( modify ?A (tipo o)(oc nose)(procesador "i3 6100_Intel")
(ram "2x4GB 2400 cl12 DDR4")
(placabase "Msi H110M PRO-VH")
(discoduro "1Tb")
(grafica "no incluida")
(fuente "450W+ bronze")
(precio 300)))))
(defrule oc
?A <- (pc(tipo g)(oc nose))
=>
(if (sino "Hará overclock al procesador (si/no)?: ")
then ( modify ?A (oc si)))
)
(defrule preciogamingoc
?A <- (pc (tipo g) (oc si) (procesador) (ram) (placabase) (discoduro) (grafica) (fuente))
=>
(printout t "Veo que su sistema será destinado a juegos y que además se le podrá hacer overclock." crlf
"Ahora debe introducir el presupuesto medio para que podamos darle una configuración mas concreta." crlf
"Introduzca su presupuesto de referencia(>= 750): ")
(bind ?precio (read))
(if (and(>= ?precio 750)(< ?precio 850))
;;then ((printout t "bien"crlf))
then (modify ?A (procesador "i5 4690K_Intel")
(ram "2x8GB 2133 cl9")
(placabase "Gigabyte_Z97X gaming 3 ejemplo")
(discoduro "1Tb")
(grafica "GTX 970")
(fuente "700W+ silver")
(precio 750)))
;;(else (if (>= ?precio 850)
;;then (modify ?C (procesador "i7 4790K_Intel")
;;(ram "2x8GB 2133 cl9")
;;(placabase "Gigabyte_Z97X gaming 5 ejemplo")
;;(discoduro "1Tb HDD")
;;(grafica "GTX 970")
;;(fuente "700W+ silver")
;(precio 850))))
)
;;*******MAIN*******
(defrule inicio
(declare (salience 1))
=>
(printout t crlf)
(printout t "Sistema Experto de Configuracion de Ordenadores")
(printout t crlf crlf))
(defrule presupuesto
(declare (salience -1))
(pc (procesador ?A)(ram ?F)(placabase ?B)(discoduro ?M)(grafica ?G)(fuente ?P)(precio ?O))
=>
(printout t crlf crlf "-.PRESUPUESTO.-" crlf crlf)
(printout t "PROCESADOR: " ?A crlf)
(printout t "RAM: " ?F crlf)
(printout t "PLACA BASE: " ?B crlf)
(printout t "DISCO DURO:" ?M crlf)
(printout t "GRAFICA: " ?G crlf)
(printout t "FUENTE: " ?P crlf crlf)
(printout t "PRECIO: " ?O crlf)
)