from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
pages=set()#避免存入相同的链接
def getlinks(pageUrl):
global pages
html=urlopen("http://en.wikipedia.org"+pageUrl)
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'])#打印编辑链接
except AttributeError:
print("页面缺少一些属性,不过不用担心!")
for link in bsObj.findAll("a",href=re.compile("^(/wiki/)")):
if 'href' in link.attrs:
if link.attrs['href'] not in pages:
newPage=link.attrs['href']
print("------------------\n"+newPage)
pages.add(newPage)
getlinks(newPage)
getlinks("")#首先爬去维基百科主页
网络数据采集——收集整个网站
最新推荐文章于 2024-10-21 11:34:52 发布