一、中文 对齐问题愿意

:      <填充>    <对齐>    <宽度>          ,        <.精度>      <类型>

引号    用于填充的   <左对齐   槽的设定输出    数字的千位分割符   浮点数小数部分   整数类型b,c,

符号    单个符号    >右对齐   宽度        适用于整数和浮点   的精度或字符串   d,o,x,X浮点数

              ^居中对齐             数          的最大输出长度   类型e,E,f,%

 

当中文字符宽度不够时,采用西文字符进行填充;中西文字符占用宽度不同。

中文字符宽度不够时解决方法:采用中文字符的空格填充chr(12288)

 1 import requests
 2 import parsel
 3 
 4 """
 5 模拟浏览器进入网页
 6 获取url的内容
 7 """
 8 def get_page_url(hd,url):
 9     try:
10         r =requests.get(url,headers=hd,timeout=30)
11         r.raise_for_status()    #判断返回的状态是否是200
12         r.encoding = r.apparent_encoding    #转换编码方式为内容分析出的相应编码方式
13         return r.text
14     except:
15         return None
16 
17 """
18 解析页面内容
19 使用xpath获取有用的信息
20 """
21 def parsing_website(html,content_list):
22     sel = parsel.Selector(html)
23     xp = sel.xpath("//tr[@class='alt']")
24     # list_from = []
25     #使用for循环获取需要的信息
26     for i in xp:
27         ranking= i.xpath('./td[1]/text()').get()
28         name = i.xpath('./td[2]/div/text()').get()
29         province = i.xpath('./td[3]/text()').get()
30         total_score = i.xpath('./td[4]/text()').get()
31         index = i.xpath('./td[5]/text()').get()
32         content_list.append([ranking,name,province,total_score,index])
33     # print( content_list)
34 
35 """
36 将获取到的信息打印出来
37 使用format方法按照一定的排序顺序来打印
38 """
39 def output_content(content_list,number):
40     output ="{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}" #{1:{4}^10}表示采用的填充符为format后面的第5个
41     print(output.format('排行','学校名称','总分','指标得分',chr(12288)))    #chr(12288)中文空格填充符
42     for i in range(number):
43         u = content_list[i]
44         # print(u)
45         print(output.format(u[0],u[1],u[2],u[3],chr(12288)))
46 
47 if __name__ == '__main__':
48     content_list = []
49     hd = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'
50             }
51     url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html'
52     html = get_page_url(hd,url)
53     # print(html)
54     parsing_website(html,content_list)
55     # print(content)
56     output_content(content_list,100)

 

posted on 2020-02-07 16:25  小和尚不吃素  阅读(921)  评论(0编辑  收藏  举报