日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 爬虫系列:糗事百科最热段子

發(fā)布時間:2025/4/14 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 爬虫系列:糗事百科最热段子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.獲取糗事百科url

http://www.qiushibaike.com/hot/page/2/? ? 末尾2指第2頁

2.分析頁面,找到段子部分的位置, 需要一點CSS和HTML的知識

3、編寫代碼

1 import urllib.request 2 from bs4 import BeautifulSoup 3 from urllib.request import URLError 4 from urllib.request import HTTPError 5 import time 6 # 調(diào)用 publicHeaders 文件的方法 7 from 爬蟲.publicHeaders import set_user_agent 8 9 10 # 抓取網(wǎng)頁 11 def download(pagenum): 12 url = r'https://www.qiushibaike.com/hot/page/' 13 14 # 分頁下載 15 for i in range(1,pagenum): 16 #組裝url 17 new_url = url + str(pagenum) 18 print(new_url) 19 # 有的時候訪問某個網(wǎng)頁會一直得不到響應,程序就會卡到那里,我讓他1秒后自動超時而拋出異常 20 header = set_user_agent() 21 while 1: 22 try: 23 req = urllib.request.Request(url=new_url,headers=header) 24 reponse = urllib.request.urlopen(req,timeout=1) 25 break 26 # HTTPError是URLError的子類,在產(chǎn)生URLError時也會觸發(fā)產(chǎn)生HTTPError。因此應該先處理HTTPError 27 except HTTPError as e: 28 print(e.code) 29 # 對于抓取到的異常,讓程序停止1.1秒,再循環(huán)重新訪問這個鏈接,訪問成功時退出循環(huán) 30 time.sleep(1.1) 31 except URLError as err: 32 print(err.reason) 33 # 正常訪問,則抓取網(wǎng)頁內(nèi)容 34 html = reponse.read().decode('utf-8') 35 # 找到所有的class名稱為content 的div 36 soup = BeautifulSoup(html,"html.parser") 37 contents = soup.findAll("div",{"class":"content"}) 38 # # 循環(huán)遍歷保存每一項,并保存 39 with open("E:\JustForFun.txt", "w") as f: 40 for item in contents: 41 # 有些內(nèi)容不是utf-8格式 42 try: 43 each_story = item.get_text() 44 #print(type(each_story)) 45 f.writelines(each_story) 46 except: 47 pass

4、執(zhí)行以下,結果如下:

?

轉(zhuǎn)載于:https://www.cnblogs.com/scios/p/8673033.html

總結

以上是生活随笔為你收集整理的Python 爬虫系列:糗事百科最热段子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。