1. 程式人生 > >python網路爬蟲入門

python網路爬蟲入門

1、獲取網頁原始碼

from urllib import request
fp=request.urlopen("https://blog.csdn.net")
content=fp.read()
fp.close()

2、從原始碼中提取資訊

這裡需要使用可以從HTML或者xml檔案中提取資料的python庫,beautiful soup
安裝該庫:

pip3 install beautifulsoup4
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
for x in soup.findAll(name='a'): # 找出所有的a標籤
	print('attrs:',a.attrs) # 輸出a標籤的屬性

#利用正則,找出所有id=link數字 標籤
for a in soup.findAll(attrs={'id':re.compile('link\d')})
	print(a)

3、對資訊進行處理

可以寫入檔案,也可以做進一步處理,例如清洗

示例程式碼如下:

from bs4 import BeautifulSoup
from urllib import request
import re
import chardet
import sys
import io
#改變標準輸出的預設編碼
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') 
fp=request.urlopen("https://blog.csdn.net")
html=fp.read()
fp.close()
# 判斷編碼方式
det = chardet.detect(html)
# 使用該頁面的編碼方式
soup = BeautifulSoup(html.decode(det['encoding']))
# 找出屬性為href=http或者href=https開頭的標籤
for tag in soup.findAll(attrs={'href':re.compile('http|https')}):
	print(tag)
	with open(r'C:\Users\Van\Desktop\test.csv', 'a+') as file:
		content = tag.attrs['href'] + '\n'
		file.write(content) #寫入檔案