最近有个爬虫的需求,然后在做爬虫的过程中涉及到要去爬取网页中的表格内容,鉴于直接采用常规方法有点傻,于是记录了如何直接提取表格内的方法在此,以便后续再回顾。
from bs4 import BeautifulSoup
import urllib
import re
import config #自己定义的配置文件
def spider_data(url):
head = {}
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'
data=urllib.request.Request(url=url,headers=head)
file= urllib.request.urlopen(data)
res=file.read().decode('utf8','ignore')
soup=BeautifulSoup(res,'html.parser')
return soup
def split_table(soup):
res= []
if soup.tbody !=None:
a = soup.tbody.children
reg = re.compile(("<[^>]*>")) # 清除html标签,提取文本,这里查找的是介于'<>'之间的表达式
row0 = [] # row0用于保存上一行的信息
flag = True # row0未初始化