初入爬蟲學習之糗事百科爬蟲

2021-10-08 08:04:27 字數 3593 閱讀 2770

url =

''#請求的方式為get,所以對應選擇request的get方法

resp = requests.get(url)

#resp就是響應結果

print

(resp)

#返回的碼為200,說明響應結果正常,200表示成功,418表示遇到反爬

print

(resp.request.headers)

#返回的頭部為乙個python-requests表示返回的為乙個爬蟲

''#請求的方式為get,所以對應選擇request的get方法

headers=

#為什麼要寫headers?因為是反爬的一種手段,偽裝成瀏覽器

resp = requests.get(url,headers = headers)

#resp就是響應結果

print

(resp)

#返回的碼為200,說明響應結果正常,200表示成功,418表示遇到反爬

print

(resp.request.headers)

#返回的頭部為乙個python-requests表示返回的為乙個爬蟲

print

(resp.text)

#返回伺服器給你響應回來的資料

import   re為匯入乙個需要正則的模組

import requests

import re

url =

''#請求的方式為get,所以對應選擇request的get方法

headers=

#為什麼要寫headers?因為是反爬的一種手段,偽裝成瀏覽器

resp = requests.get(url,headers = headers)

#resp就是響應結果

#第乙個引數為匹配的規則,第二個引數為

info = re.findall(r''

,resp.text)

#.為任意字元,*為任意個,小括號的意思是只要小括號裡面的內容

#此時沒有拿到任意東西

print

(info)

修改**之後再次進行爬蟲

import  requests

import re

url =

''#請求的方式為get,所以對應選擇request的get方法

headers=

#為什麼要寫headers?因為是反爬的一種手段,偽裝成瀏覽器

resp = requests.get(url,headers = headers)

#resp就是響應結果

#第乙個引數為匹配的規則,第二個引數為

#info = re.findall(r'',resp.text)

#.為任意字元,*為任意個,小括號的意思是只要小括號裡面的內容

#此時沒有拿到任意東西

info = re.findall(r''

,resp.text)

#雙引號要使用轉移字元\',\'來進行表示,控制台裡面顯示的type=後面的內容為雙引號,/>表示字串最終結束的部分

print

(info)

print

(type

(info)

)#顯示結果為list,說明提取出來的結果是乙個列表

import  requests

import re

url =

''#請求的方式為get,所以對應選擇request的get方法

headers=

#為什麼要寫headers?因為是反爬的一種手段,偽裝成瀏覽器

resp = requests.get(url,headers = headers)

#resp就是響應結果

info = re.findall(r''

,resp.text)

#主要匹配最裡面的乙個source標籤,將關鍵內容提取出來

:#將網路上獲取的資料寫入到本地磁碟

file

.write(resp.content)

#resp.content與resp.text的區別

print

()

如果是對於糗事百科文字的提取,首先需要分析糗事百科上面笑話文字的標籤結構

>的標籤之中,然後到了

="content"

>的內容之後顯示笑話中的具體內容,深入觀察之後發現後面的class裡面的內容還有可能為

「article block untagged mb15 typs_hot」

所以我們需要將這兩個class標籤中的內容都包含進去。

import requests

from bs4 import beautifulsoup

r = requests.get(

'')content = r.text

soup = beautifulsoup(r.text,

'lxml'

)divs = soup.find_all(class_ =

'article block untagged mb15 typs_long'

)+soup.find_all(class_ =

'article block untagged mb15 typs_hot'

)#共通點是class裡面包含兩個部分,所以將兩個部分都放置進去

for div in divs:

#if div.find_all(class_ = 'thumb'):

# continue

joke = div.span.get_text(

)#將divs中的每個div都取出來,把其中的span標籤的文字放進joke中並列印出來

print

(joke)

print

('------'

)

爬蟲 糗事百科爬蟲

糗事百科爬蟲 寫這個爬蟲花了我相當相當多的時間,因為總是爬著爬著就看這糗事百科上的段子去了。環境 python 3.6 import csvimport json import random import requests from bs4 import beautifulsoup class qi...

爬蟲實戰 糗事百科

閒來無聊,在網上按照教程寫了乙個python爬蟲,就是竊取資料然後儲存下來爬蟲實戰 糗事百科。從糗百上爬取段子,然後輸出到console,我改了一下儲存到了資料庫。不扯沒用的,直接上 這是爬取得部分 usr bin python coding utf 8 import urllib import u...

python爬蟲糗事百科

coding utf 8 import urllib2 import re 工具類 class tools object remove n re.compile r n replace br re.compile r remove ele re.compile r re.s rs 引數,要進行替換的...