1. 程式人生 > 實用技巧 >jupyterLab學習第二天

jupyterLab學習第二天

簡單爬取一個小說網站

首先得在控制檯中下載安裝requests-html

安裝requests-html非常簡單,一行命令即可做到。需要注意一點就是,requests-html只支援Python 3.6及更新的版本,所以使用老版本的Python的同學需要更新一下Python版本了。看了下原始碼,因為requests-html廣泛使用了一個Python 3.6中的新特性——型別註解。

pip install requests-html

具體程式碼

from requests_html import HTMLSession
import requests
session = HTMLSession()
url = 'http://bbs.tianya.cn/post-culture-488321-1.shtml'
r = session.get('http://bbs.tianya.cn/post-culture-488321-1.shtml')
author = r.html.find('div.atl-info span a', first=True).text
div = r.html.find('div.atl-pages', first=True)
links = div.find('a')
total_page = 1 if links == [] else int
(links[-2].text)
title = r.html.find('span.s_title span', first=True).text
with open('douban.txt', 'w+', encoding='utf-8') as f:
    for i in range(1, total_page + 1):
        s = url.rfind('-')
        r = session.get(url[:s + 1] + str(i) + '.shtml')
        # 從剩下的裡面找樓主的帖子
        items = r.html.find(f'
div.atl-item[_host={author}]') for item in items: content: str = item.find('div.bbs-content', first=True).text # 去掉回覆 if not content.startswith('@'): f.write(content + "\n")

這裡需要在目錄下新建一個douban文字檔案儲存爬取後的資料