爬虫初探:豆瓣书籍名称爬取


给定需求:利用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网络爬虫与信息提取》