python程式設計篇之爬蟲 五

2021-08-27 18:19:38 字數 1235 閱讀 1831

import urllib.request

import re

defgetcontent

(url,page):

# 模擬成瀏覽器

opener = urllib.request.build_opener()

opener.addheaders = [headers]

# 將opener安裝為全域性

urllib.request.install_opener(opener)

data = urllib.request.urlopen(url).read().decode("utf-8")

# 構建對應使用者提取的正規表示式

userpat = 'target="_blank" title="(.*?)">'

# 構建段子內容提取的正規表示式

contentpat = '(.*?)

'# 尋找出所有的使用者

userlist = re.compile(userpat,re.s).findall(data)

# 尋找出所有的內容

contentlist = re.compile(contentpat,re.s).findall(data)

x = 1

# 通過for迴圈遍歷段子內容並將內容分別賦給對應的變數

for content in contentlist:

content = content.replace("\n","")

# 用字串作為變數名,先將對應字串賦給乙個變數

name = "content"+str(x)

# 通過exec()函式實現用字串作為變數名並賦值

exec(name+'=content')

x += 1

y = 1

#通過for迴圈遍歷使用者,並輸出該使用者對應的內容

for user in userlist:

name = "content"+str(y)

print("使用者"+str(page)+str(y)+"是:"+user)

print("內容是:")

exec("print("+name+")")

print("\n")

y += 1

# 分別獲取各頁的段子,通過for迴圈可以獲取多頁

for i in range(1,30):

url = ""+str(i)

getcontent(url,i)

python程式設計篇之爬蟲 六

scrapy,python開發的乙個快速 高層次的螢幕抓取和web抓取框架,用於抓取web站點並從頁面中提取結構化的資料。scrapy用途廣泛,可以用於資料探勘 監測和自動化測試。scrapy吸引人的地方在於它是乙個框架,任何人都可以根據需求方便的修改。它也提供了多種型別爬蟲的基類,如basespi...

python亂碼問題之爬蟲篇

使用下面的 有的時候會報錯,說什麼gbk無法解碼.原因是output的預設編碼跟隨系統,utf 8的字元gbk有可能不認識於是報錯 from urllib.request import request from urllib.request import urlopen url data none ...

python爬蟲之基礎概念篇

最近在學爬蟲,把學習過程做個記錄,也方便自己以後檢視。一 基礎概念篇 爬蟲在使用場景中的分類 通用爬蟲 抓取系統重要組成部分。抓取的是一整張頁面資料。聚焦爬蟲 是建立在通用爬蟲的基礎之上。抓取的是頁面中特定的區域性內容。增量式爬蟲 檢測 中資料更新的情況。只會抓取 中最新更新出來的資料。robots...