python 自學第二課: 使用BeautifulSoup抓取鏈接 正則表達式
- 具體的查看BeautifulSoup文檔(根據自己的安裝的版本查看對應文檔)
- 文檔鏈接https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import io
import sys
from urllib import request
from bs4 import BeautifulSoup
import re
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改變標准輸出的默認編碼
resp = request.urlopen("http://news.baidu.com/").read().decode("utf-8")
soup =BeautifulSoup(resp,"html.parser")
listUrls=soup.find_all("a",href=re.compile(".*\/\/news\.baidu.*"))
for url in listUrls:
print (url["href"])
最后效果:
http://news.baidu.com/view.html
http://news.baidu.com/advanced_news.html
http://news.baidu.com/pianhao.html
http://news.baidu.com/n?bypass=lamp&m=pagesother&v=newsgx
http://news.baidu.com/n?cmd=6&loc=0&name=%B1%B1%BE%A9
http://news.baidu.com/history.html
http://news.baidu.com/newscode.html
http://news.baidu.com/licence.html