Quality_Of_Perfect
2017-04-08 08:26
采纳率: 100%
浏览 1.1k
已采纳

Python代码读取网页时发生错误,请问我的代码该怎么改?

# -*- coding: utf-8 -*-
"""
Created on Fri Apr  7 13:18:02 2017

@author: jcj
"""

#from urllib import urlopen
import urllib2
#import requests
from bs4 import BeautifulSoup

class JobScrapy():

    def __init__(self):
        '''初始化函数:初始化内容包括headers'''
        user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
        self.myheaders = { 'User-Agent' : user_agent }        
        self.myhomeUrl = []

    def setUrl(self,strUrl):#该方法用来设置homeUrl
        '''设置读取的homepage'''
        self.myhomeUrl = strUrl

    def load_homePage(self):#通过homeUrl访问网址,并返回访问得到的xml文件
        '''加载homepage'''
        req = urllib2.Request(url = self.myhomeUrl, data = None, headers = self.myheaders)
        home_request = urllib2.urlopen(req)
        home_html = home_request.read()
        return home_html

    def load_cityPage(self,strCity):
        '''加载citypage'''
        cityUrl = self.myhomeUrl+'/'+strCity+'/'
        req = urllib2.Request(url = cityUrl,data = None, headers = self.myheaders)
        city_request = urllib2.urlopen(req)
        city_html = city_request.read()
        return city_html

   # def down_jobinfo(self,path):


def main():
    site = 'http://www.yingjiesheng.com'
    JS = JobScrapy()
    JS.setUrl(site)
    home_html = JS.load_homePage()
    city_html = JS.load_cityPage('beijing')
    city_soup = BeautifulSoup(city_html,from_encoding='GBK')
    print city_soup


if __name__ == '__main__':
    main() 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • vip_ing 2017-04-10 04:02
    最佳回答

    city_soup = BeautifulSoup(city_html,from_encoding='GBK') 改为
    city_soup = BeautifulSoup(city_html, 'lxml', from_encoding='GBK')

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题