使用urllib进行网络抓取

Mr.*_*ply 0 python 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')
Run Code Online (Sandbox Code Playgroud)

DYZ*_*DYZ 6

您需要将二进制对象解码为字符串:

sourceCodeString = sourceCode.decode()
Run Code Online (Sandbox Code Playgroud)