使用 urllib 进行网页抓取
Web scraping with urllib
我正在尝试进行一些简单的网络抓取,但我一直收到此错误,我不确定是什么问题,因为我是 python
的新手
异常:需要类似字节的对象,而不是 'str'
import time
import urllib.request
import urllib.parse
stock = 'a'
def finvizKeyStats(stock):
try:
sourceCode = urllib.request.urlopen('http://finviz.com/quote.ashx?t='+stock).read()
pbr = sourceCode.split('P/B</td><td width="8%" class="snapshot-td2" align="left"><b>')[1].split('</b></td>')[0]
print(pbr)
except Exception as e:
print('Exception:', e)
finvizKeyStats('a')
您需要将二进制对象解码为字符串:
sourceCodeString = sourceCode.decode()
首先,您必须将二进制对象解码为字符串
sourceCodeString = sourceCode.decode()
我建议您使用 urllib2 和 BeautifulSoup 互联网上有许多关于使用 BeautifulSoup 进行网页抓取的教程。
我正在尝试进行一些简单的网络抓取,但我一直收到此错误,我不确定是什么问题,因为我是 python
的新手异常:需要类似字节的对象,而不是 'str'
import time
import urllib.request
import urllib.parse
stock = 'a'
def finvizKeyStats(stock):
try:
sourceCode = urllib.request.urlopen('http://finviz.com/quote.ashx?t='+stock).read()
pbr = sourceCode.split('P/B</td><td width="8%" class="snapshot-td2" align="left"><b>')[1].split('</b></td>')[0]
print(pbr)
except Exception as e:
print('Exception:', e)
finvizKeyStats('a')
您需要将二进制对象解码为字符串:
sourceCodeString = sourceCode.decode()
首先,您必须将二进制对象解码为字符串
sourceCodeString = sourceCode.decode()
我建议您使用 urllib2 和 BeautifulSoup 互联网上有许多关于使用 BeautifulSoup 进行网页抓取的教程。