1. 程式人生 > >python爬蟲之糗事百科文字笑話

python爬蟲之糗事百科文字笑話

##執行環境
python:python3.6.5
IDE:pycharm
##依賴模組
request,re

##實現目的
實現從糗事百科網站上爬取所有的文字笑話,以txt的文字儲存在程式所在資料夾內
原始碼可以直接執行
##原始碼

import requests
import re

#設定UA,模擬瀏覽器正常訪問
head={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

#獲取網頁
def get_page
(url): try: response=requests.get(url,headers=head) #判斷網頁狀態碼,是否正確獲取網頁 if response.status_code==200: #返回解析後的網頁 return response.text return None except Exception: #提示資訊 print('出現錯誤,請檢查重試') def parse_page(html): print('正在解析資料.....'
) #正則表示式,規則書寫 req_pattern = re.compile( '<div class="article block untagged mb15 typs.*?>.*?class="content".*?span>(.*?)</span>', re.S) #查詢符合正則的內容 joke_texts=re.findall(req_pattern,html) print('正在寫入文字.......') save_to_text(joke_texts) def save_to_text
(joke_texts): #檔案寫入 with open('糗事百科.txt', 'a+', encoding='utf-8') as f: for i in range(0, len(joke_texts)): k = joke_texts[i].replace('<br/>', '\n') f.write(k) def main(page): url='https://www.qiushibaike.com/text/page/{}/'.format(page) print('正在請求第{}頁資料...'.format(page)) html=get_page(url) if html: parse_page(html) if __name__ == '__main__': for i in range(1,14): main(i) print('資料寫入完成,請愉快閱讀')

效果如下
這裡寫圖片描述