• Python爬虫练习


    例一:爬取信息关于'gbk' codec can't encode character 'xa0' in position 6: illegal 错误提示:

     1 from DrawStu.DrawStu import DrawStu; 5 #初始化class 得到对象
     6 draw=DrawStu();
     7 if __name__ == '__main__':
     8     print('爬取研究生调剂信息');
     9     size=draw.get_page_size();
    10     print(size)
    11     for x in range(size):
    12         start=x*50;
    13         print(start);
    14         print('https://yz.chsi.com.cn/kyzx/tjxx/?start='+str(start));
    15         pass
    1 import urllib.request;
     2 from bs4 import BeautifulSoup;
     3 """爬取核心的核心模块,功能只负责爬取研究生调剂信息"""
     4 
     5 
     6 class DrawStu():
     7     """docstring for DrawStu"""
     8     def __init__(self):
     9         self.baseurl='https://yz.chsi.com.cn/kyzx/tjxx/';
    10         pass;
    11 
    12 
    13     #爬取基本列表
    14     def draw_base_list(self,url):
    15         print('url is:::',url);
    16         pass
    17 
    18     #爬取页面的总页数
    19     def get_page_size(self):
    20         requesturl=self.baseurl;
    21         response=urllib.request.urlopen(requesturl);
    22         html=response.read();#read进行乱码处理
    23         print(html);
    24         doc=BeautifulSoup(html);
    25         pcxt=doc.find('div',{'class':'pageC'}).findAll('span')[0].text;
    26         print(pcxt);
    27         #re正则表达式 字符串截取api
    28         pagesize=pcxt.strip();
    29         pagearr=pagesize.split('/');
    30         pagestr=pagearr[1];
    31         return int(pagestr[0:2]);
    32         pass
    33         
    34         

    运行时出现如下的错误提示:

     找了很多方法仍然无果最后同学提供了一段解决编码格式问题的万能代码段,分享给大家。

    import io
    import sys
    sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')

    将这段代码加入即可解决。

    正确运行结果:

     

     例二:在安装pip instal XX是出现如下错误:

    pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.

    解决办法:

    设置超时时间,
    pip --default-timeout=100 install -U Pillow(对应的是软件包模块的名称)

    找了很久的解决办法才找到。原网址:https://blog.csdn.net/m0_43432638/article/details/84400474

     例三:在对csv进行写入操作时出现错误,TypeError: sequence item 0: expected str instance, int found

    1 number_lst=[1,2,3,4]
    2 numbei_lst=[str(x) for x in number_lst]
    3 with open('price2017.csv','a',encoding='utf8')as f:
    4     f.write(','.join('%s' %id for id in number_lst))#遍历list的元素,把他转化成字符串。
    5 f.close()

    解决办法:print(" ".join('%s' %id for id in number_lst))

    原网址:https://blog.csdn.net/laochu250/article/details/67649210

  • 相关阅读:
    再回首Java第九天
    再回首Java第八天
    再回首Java一周记
    再回首Java第六天
    再回首Java第五天
    再回首Java第四天
    再回首Java第三天
    再回首Java第二天
    再回首Java第一天
    关于i++和++i理解
  • 原文地址:https://www.cnblogs.com/Wang1107/p/11856710.html
Copyright © 2020-2023  润新知