第一次写的爬虫,爬的是中国国家数字图书馆排行榜日榜前十
#爬虫获取中国国家数字图书馆排行榜日榜前十
from urllib.request import urlopen
from bs4 import BeautifulSoup
import urllib
html = urlopen('http://mylib.nlc.cn/web/guest/booktop;jsessionid=3Nhsk9ytSECUnCamdLDDmQO')
html = html.read()
bs = BeautifulSoup(html,'html.parser')
#列表存取书名,作者,浏览量
names=[]
authors=[]
pubs=[]
#获取排行榜
for i in range(0,10):
tag = "day_li_"
tag += str(i)
name = bs.find(id=tag).find(class_="p-name").string
author = bs.find(id=tag).find(class_="p-author").string
pub = bs.find(id=tag).find(class_="p-pub").string
names.append(name)
authors.append(author)
pubs.append(pub)
print('\t书名\t\t','\t 作者\t\t\t','\t 浏览量')
#格式化输出
for i in range(0,10):
print('{:<{len}}\t'.format(names[i],len=30-len(names[i].encode('GBK'))+len(names[i])),end=" ")
print('{:<{len}}\t'.format(authors[i],len=30-len(authors[i].encode('GBK'))+len(authors[i])),end=" ")
print('{:<{len}}'.format(pubs[i],len=30-len(pubs[i].encode('GBK'))+len(pubs[i])))
主要问题是在设置输出格式的时候,遇到中文与英文格式排版问题,最后的参考解决方法很棒。