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...