爬虫初探:豆瓣书籍名称爬取
给定需求:利用Python爬虫爬取豆瓣网的编程类首页书籍的名称并打印出来
问题分析:分三步骤实现获取网页内容、提取信息到列表中和输出结果。
(1)步骤1:从网络上获取编程书籍网页内容
(2)步骤2:提取网页内容中的书籍名称信息到列表中
(3)步骤3:利用数据结构展示并输出结果
代码实现:
1 import requests 2 from bs4 import BeautifulSoup 3 4 def getHTMLText(url): 5 try: 6 kv = {'user-agent':'Mozilla/5.0'} 7 r = requests.get(url,headers=kv) 8 r.raise_for_status() 9 r.encoding = r.apparent_encoding 10 return r.text 11 except: 12 return "产生异常" 13 14 def fillBookList(blist,html): 15 soup = BeautifulSoup(html,"html.parser") 16 for i in soup.find_all('a'): 17 if i.get('title') == None: 18 pass 19 else: 20 blist.append(i.get('title')) 21 22 def printBookList(blist,num): 23 print("{}".format("图书名称")) 24 for i in range(num): 25 b = blist[i] 26 print("{}".format(b)) 27 28 def main(): 29 binfo = [] 30 url = "https://book.douban.com/tag/%E7%BC%96%E7%A8%8B" 31 html = getHTMLText(url) 32 fillBookList(binfo,html) 33 printBookList(binfo,20) 34 35 main()
参考资料:中国大学MOOC精品课程《Python网络爬虫与信息提取》