pathon爬取豆瓣纸书

作者: 有苦向瓜诉说 | 来源:发表于2017-03-08 20:09 被阅读0次

用python爬取豆瓣纸书,先来代码:

from bs4 import BeautifulSoup
import bs4
import requests

def getHtmlText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encodin=r.apparent_encoding
        return r.text
    except:
        return ""

def fillBookList(BookList,html):
    soup=BeautifulSoup(html,'html.parser')
    ul=soup.find('div','tab-list book-show-wrap').ul
    for li in ul.children:
        if isinstance(li,bs4.element.Tag):
            BookList.append(li.find('h3').string)

def printBookList(BookList,num):
    tple="{0:{1}^10}"
    print(tple.format('书籍',chr(12288)))
    for i in range(num):
        print(tple.format(BookList[i],chr(12288)))

def main():
    book=[]
    url='https://market.douban.com/book/?platform=web&channel=book_nav&page=1&page_num=20&'
    html=getHtmlText(url)
    fillBookList(book,html)
    printBookList(book,20)

main()

中间有两个注意点,第一个时要注意找各种子节点时要分析html源码,第一次写的时候,随便找了个ul,但html中有很多ul,这时就要找到 div的ul再往下推,其次,需要判断li是不是一个Tag,之后才是得到string。

第二个是输出问题,为了是输出更美观,应该用str.format方法,其中特别是中文空格和西文空格占的宽度不一样,如果前面的东西都是中文,空格也应该是用中文空格来使得居中,对齐变得更加美观
空格默认为西文空格,中文空格代码为 chr(12288)

format方法小结:
#输出基本用法
print('{0},{1}'.format('zhangk', 32))

print('{},{},{}'.format('zhangk','boy',32))
 
print('{name},{sex},{age}'.format(age=32,sex='male',name='zhangk'))


# 格式限定符
# 它有着丰富的的“格式限定符”(语法是{}中带:号),比如:
 
# 填充与对齐
# 填充常跟对齐一起使用
# ^、<、>分别是居中、左对齐、右对齐,后面带宽度
# :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,,可改为中文空格
 
print('{:>8}'.format('zhang'))
print('{:0>8}'.format('zhang'))
print('{:a<8}'.format('zhang'))
print('{:p^10}'.format('zhang'))
 
# 精度与类型f
# 精度常跟类型f一起使用
print('{:.2f}'.format(31.31412))
 
# 其他类型
# 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(15))
 
print('{:d}'.format(15))
 
print('{:o}'.format(15))
 
print('{:x}'.format(15))
 
# 用逗号还能用来做金额的千位分隔符
print('{:,}'.format(123456789))

相关文章

  • pathon爬取豆瓣纸书

    用python爬取豆瓣纸书,先来代码: 中间有两个注意点,第一个时要注意找各种子节点时要分析html源码,第一次写...

  • 爬虫代码集

    一、简单爬取猫眼(使用字符串) 二、简单爬取豆瓣(使用XPATH) Beautiful Soup爬取

  • Node puppeteer 爬虫

    puppeteer 中文文档 开始 爬取豆瓣书籍列表 豆瓣读书 在这个页面输入javascript,然后爬取列表案...

  • 爬虫案例

    实战巩固 爬取搜狗指定页面的数据-待完成 爬取破解百度翻译 爬取豆瓣电影分类排行榜 爬取肯德基餐厅查询地址 爬取国...

  • Python爬取豆瓣电影TOP250

    爬取目标 爬取豆瓣电影TOP250信息并简单分析 爬取网址为https://movie.douban.com/to...

  • scrapy爬取豆瓣电影

    scrapy爬取豆瓣电影,存储在MongoDB 本节分享用的Scrapy爬取豆瓣电影Top250的实战。 本节要实...

  • Python学习

    python爬虫(五) python爬虫爬取豆瓣电影Top250数据 利用python爬取豆瓣电影TOP250页面...

  • Python爬虫-豆瓣电影Top250-各项信息爬取及xls保存

    Python爬虫-豆瓣电影Top250-各项信息爬取及xls保存 目的 采用python爬虫爬取豆瓣电影Top25...

  • node.js一个爬虫实例

    爬取豆瓣top250 测试

  • Python学习第四天

    爬取豆瓣top250电影 输出结果: 爬取猫眼top100 输出结果:

网友评论

    本文标题:pathon爬取豆瓣纸书

    本文链接:https://www.haomeiwen.com/subject/nfkigttx.html