python爬蟲簡單示例

2021-08-29 02:14:48 字數 2661 閱讀 8292

準備工作:安裝python3環境、beautifulsoup4庫(

from urllib import request

req = request.urlopen(

"")print

(req.read(

).decode(

"utf-8"

))

(目的是不讓伺服器認為是爬蟲,若不帶此瀏覽器資訊,則可能會報錯)

req = request.request(url)

#此處url為某個**

req.add_header(key,value)

#key即user-agent,value即瀏覽器的版本資訊

resp = request.urlopen(req)

print

(resp.read(

).decode(

"utf-8"

))

from urllib import parse
postdata = parse.urlencode(

[(key1,val1)

,(key2,val2)

,(keyn,valn)

])

request.urlopen(req,data=postdata.encode(

"utf-8"))

#使用postdata傳送post請求

resp.status #得到請求狀態

resp.reason #得到伺服器的型別

#-*- coding:utf-8 -*-

from bs4 import beautifulsoup as bs

from urllib.request import urlopen

import re

import ssl

#獲取維基百科詞條資訊

ssl._create_default_https_context = ssl._create_unverified_context #全域性取消證書驗證

#請求url,並把結果用utf-8編碼

req = urlopen(

" page"

).read(

).decode(

"utf-8"

)#使用beautifulsoup去解析

soup = bs(req,

"html.parser"

)# print(soup)

#獲取所有href屬性以「/wiki/special」開頭的a標籤

urllist = soup.findall(

"a",href=re.

compile

("^/wiki/special"))

for url in urllist:

#去除以.jpg或.jpg結尾的鏈結

:#get_test()輸出標籤下的所有內容,包括子標籤的內容;

#string只輸出乙個內容,若該標籤有子標籤則輸出「none

print

(url.get_text()+

"----->"

+url[

"href"])

# print(url)

#引入開發包

import pymysql.cursors

#獲取資料庫鏈結

connection = pymysql.connect(host=

"localhost"

, user =

'root'

, password =

'123456'

, db =

'wikiurl'

, charset =

'utf8mb4'

)try

:#獲取會話指標

with connection.cursor(

)as cursor

#建立sql語句

sql =

"insert into `tablename`(`urlname`,`urlhref`) values(%s,%s)"

#執行sql語句

cursor.execute(sql,

(url.get_text(),

""+url[

"href"])

)#提交

connection.commit(

)finally

:#關閉

connection.close(

)

robots協議(機械人協議,也稱爬蟲協議)全稱是「網路爬蟲排除協議」,**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不可以抓取。一般在主頁面下,如/robots.txt

disallow:不允許訪問

allow:允許訪問

參考:慕課網課程

2023年9月27日

Python多執行緒爬蟲簡單示例

python是支援多執行緒的,主要是通過thread和threading這兩個模組來實現的。thread模程式設計客棧塊是比較底層的模組,threading模組是對thread做了一些包裝的,可以更加方便的使用。雖然python的多執行緒受gil限制,並不是真正的多執行緒,但是對於i o密集型計算還...

Java簡單爬蟲示例

步驟簡介 獲取鏈結文字內容 urlconnection例項呼叫getinputstream 獲取輸入流,並返回輸入流 inputstream 物件,初始化給inputstreamreader,將位元組流轉換為字元流,並指定字符集編碼utf 8。bufferedreader從字元流中逐行讀取文字存入s...

python實現簡單爬蟲功能的示例

在我們日常上網瀏覽網頁的時候,經常會看到一些好看的,我們就希望把這些儲存 或者使用者用來做桌面桌布,或者用來做設計的素材。我們最常規的做法就是通過滑鼠右鍵,選擇另存為。但有些滑鼠右鍵的時候並沒有另存為選項,還有辦法就通過就是通過截圖工具擷取下來,但這樣就降低的清晰度。好吧 其實你很厲害的,右鍵檢視頁...