我正在尝试使用请求和BeautifulSoup4包来抓取网站。在
>>>import requests
>>>from bs4 import BeautifulSoup
>>>r = requests.get('https://www.yellowpages.com/search?search_terms = coffee&geo_location_terms=Los+Angeles%2C+CA')
>>>r.content #shows source code (mess) bytes type
>>>soup = BeautifulSoup(r.content,'html.parser')
当我试图用
print(soup.prettify())
我知道错误了
^{pr2}$我也试过了
>>>soupbytes = soup.prettify(encoding = 'utf-8') #this is bytes format
>>>soupstr = soupbytes.decode('utf-8') #this is str format
对于第一个,打印(print(soupbytes)
)没有任何问题,但是它不打印文本'pretty',它是字节格式。如果我试图打印第二个(print(soupstr)
),我会再次得到错误,但是我得到的对象是str类型的。在
我还得说,我在IDE(spyder)中没有发现任何错误。也就是说,如果我在spyder中运行下一个代码:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.yellowpages.com/search?
search_terms=coffee&geo_location_terms=Los+Angeles%2C+CA')
r.content #muestra html de la pagina
soup = BeautifulSoup(r.content,'html.parser')
print(soup.prettify())
我没有任何错误。 为什么会有这种区别?我怎样才能避免终端出错呢???在
目前没有回答
相关问题 更多 >
编程相关推荐