python 視窗化網頁爬蟲實踐

2021-08-25 19:27:44 字數 2801 閱讀 7404

經過一段基本的爬蟲和gui學習後,實踐了許多爬蟲例子和gui例子。 突發奇想將兩者結合起來,因此寫了這篇部落格。

gui 設計匯入python內建庫tkinter爬蟲 設計匯入python第三方庫requestsbeautifulsoup庫。

我們先理思路。

首先我們需要設計主窗體,其次需要向主窗體內新增元素,其中要有提示輸入元素,輸入元素,控制元素,輸出元素。

其次當輸入元素後我們需要將輸入的元素匯入爬蟲函式,爬取網頁資訊,隨後將爬蟲得到的資訊同過輸出元素輸出。

接下來設計視窗

import requests

import tkinter

from bs4 import beautifulsoup

root = tkinter.tk() # 主窗體

root.geometry("450x350")

root.title("network catch") # 提示輸入元素

lb = tkinter.label(root,text ="input url",height = 3,width = 20,font = ("宋體",20))

lb.pack()

entry = tkinter.entry(root) # 輸入元素

entry.pack()

btn = tkinter.button(root,text = "confirm",height = 1,width = 10,font = ("宋體",20),\

command = get_url ) # 控制元素

btn.pack()

content = tkinter.text(root) # 輸出元素

content.pack()

root.mainloop()

上面**完成整個窗體的結構,pack方法簡便,有興趣的小夥伴可以試試 grid 或者 place 方法。

接下來我們要將輸入的元素entry轉變為字串型別進行爬蟲。

python網頁爬蟲的基本框架大家也想必都清楚。

try:

r = requests.get(url,timeout = 30)

r.raise_for_status()

r.text

except:

return "erro"

def

get_url

(): url = str(entry.get()) # 獲取url

try:

r = requests.get(url,timeout = 30)

r.raise_for_status()

soup = beautifulsoup(r.text,'html.parser')

except:

return

"erro"

content.insert(tkinter.end,soup.prettify()) # 將網頁資訊插入窗體中輸出

content.delete(0,tkinter.end)

這樣就完成了我們的所有分布設計,接下來只需將所有整合一起。

import requests

import tkinter

from bs4 import beautifulsoup

defget_url

(): url = str(entry.get())

try:

r = requests.get(url,timeout = 30)

r.raise_for_status()

soup = beautifulsoup(r.text,'html.parser')

except:

return

"erro"

content.insert(tkinter.end,soup.prettify())

content.delete(0,tkinter.end)

root = tkinter.tk()

root.geometry("450x350")

root.title("network catch")

lb = tkinter.label(root,text ="input url",height = 3,width = 20,font = ("宋體",20))

lb.pack()

entry = tkinter.entry(root)

entry.pack()

btn = tkinter.button(root,text = "confirm",height = 1,width = 10,font = ("宋體",20),\

command = get_url )

btn.pack()

content = tkinter.text(root)

content.pack()

root.mainloop()

有興趣的小夥伴也可以試試新增裝飾器來進行爬蟲。 ok。。溜了。。

Android安卓應用程式視窗化

這裡說的不是什麼安卓虛擬機器 模擬器 就是apk單檔案執行視窗化方法雖不是原創 但比原教程詳細得多 原教程 講得不清楚 我自己摸索了半天才會 然後給你們帶來詳細的新教程 步驟閱讀34 以管理員身份執行命令提示符 npm install chromeos apk g執行 chromeos apk 命令...

Python爬蟲實踐

爬取的是盜版網的 免費 三寸人間 閱讀 請支援正版 以下是源 from urllib import request from bs4 import beautifulsoup import re 獲取html原始碼 response request.urlopen html response.rea...

python 爬蟲實踐

詳解 python3 urllib requests 官方文件 timeout 引數是用於設定請求超時時間。單位是秒。cafile和capath代表 ca 證書和 ca 證書的路徑。如果使用https則需要用到。context引數必須是ssl.sslcontext型別,用來指定ssl設定 cadef...