python爬蟲學習第十五天

2021-08-05 21:47:30 字數 2689 閱讀 1190

# from urllib.request import urlopen

# from bs4 import beautifulsoup

# import re

# import datetime

# import random

# def randomurl(articleurl):

# url = ""+articleurl

# html = urlopen(url)

# bsobj = beautifulsoup(html)

# links = bsobj.find('div',).findall('a',href = re.compile('^(/wiki/)((?!:).)*$'))

# return links

# pass

# random.seed(datetime.datetime.now())

# newlinks = randomurl('/wiki/kevin_bacon')

# while len(newlinks)>0:

# link = newlinks[random.randint(0,len(newlinks)-1)].attrs['href']

# print(link)

# newlinks = randomurl(link)

# pass

練習1 網路資料採集示例(逐個採集維基百科的每乙個鏈結)

# from urllib.request import urlopen

# from bs4 import beautifulsoup

# import re

# datas = set()

# def getlinks(linkurl):

# global datas

# url = ''+linkurl

# html = urlopen(url)

# bsobj = beautifulsoup(html)

# for link in bsobj.findall('a',href=re.compile("^(/wiki/)")):

# if 'href' in link.attrs:

# if link.attrs['href'] not in datas:

# newlink = link.attrs['href']

# print(newlink)

# datas.add(newlink)

# getlinks(newlink)

# else:

# print('這個頁面重複啦!')

# pass

# getlinks('')

練習2 收集整個**資料

# from urllib.request import urlopen

# from bs4 import beautifulsoup

# import re

# datas = set()

# def getlinks(pageurl):

# global datas

# url = ''+pageurl

# html = urlopen(url)

# bsobj = beautifulsoup(html)

# try:

# print(bsobj.h1.get_text())

# print(bsobj.find(id='mw-content-text').findall('p')[0])

# print(bsobj.find(id="ca-edit").find('span').find('a').attrs['href'])

# pass

# except attributeerror as e:

# print('這頁面裡沒有我們要的某些資訊')

# for link in bsobj.findall('a',href=re.compile("^(/wiki/)")):

# if 'href'in link.attrs:

# if link.attrs['href'] not in datas:

# newlink = link.attrs['href']

# print(newlink)

# print('---------------------')

# datas.add(newlink)

# getlinks(newlink)

# pass

# else:

# print('我們來過這兒嘍')

# getlinks('')

今天的練習就這兩個,雖然數量少但是不看書自己敲出來比前面的練習挑戰性高的多,完整做完感覺自己還有很多不足,加油!

python第十五天

什麼是模組?一系列功能的集合 定義模組?建立乙個py檔案就是乙個模組,該py檔名就是模組名 怎麼使用模組?在要是用的模組檔案中通過import 模組名 來匯入模組 模組的四種方式?1 編譯執行模組所對應的py檔案,形成對應的pyc檔案 2 產生該模組自己的全域性命名空間 3 在適應該模組的全域性命名...

python 學習第十五天(繼承)

python中繼承分為單繼承和多繼承 class parent1 如果沒有繼承,python3中會預設繼承object這個類 pass class parent2 pass class son1 parent1 單繼承,父類是parent1 pass class son2 parent1,paren...

PYTHON小白 第十五天

python小白 第十五天 1 再論類命名空間 python的類就像命名空間。python程式預設處於全域性命名空間內,類體則處於類命名空間內,python允許在全域性範圍內放置可執行 當python執行該程式時,這些 就會獲得執行的機會 類似地,python同樣允許在類範圍內放置可執行 當pyth...