爬取后的文字解析工作

各位小伙伴们,咱们继续开黑,上午我们爬完的表格的内容,是时候把那些无关紧要的标签都fire掉。

承接着上文啊,我们用beautifulsoup去处理吧,难受的是以导包就出现问题了,够呛哥内心也是很崩溃的。

一、对于cannot import name 'HTMLParseError'的处理

其实升级就行了:进入cmd→输入pip install --upgrade beautifulsoup4 。知乎上的老铁也有他们的骚操,详细自己看看吧。

爬取后的文字解析工作

二、开始测试一下:

gd = getData(URL)#看我的博客《爬取动态网站表格内容》
bs = BeautifulSoup(gd.get_html(),"lxml")
print(bs.text)
得到的结果:
啧~有空格好难受!
三、开始处理
观众老爷们正则表达式了解一下?点击了解正则表达式

for循环的第一个判断,是用于提出“首页……尾页”这一个干扰选项,不把它删掉可能会报下标溢出的错误。然后我们在最后处理完p开头和结尾的空字符串,其实它的本体是一堆\r\n。



gd = getData(URL)
bs = BeautifulSoup(gd.get_html(),"lxml")
for t in bs.find_all('tr'):
    if re.match('首页上页123456789...下页尾页', t.text):
        continue
    p = re.split('\s',t.text)
    p.pop()
    del p[0]
    print(p)
好了看输出:
四、放到excel里面

大家可以参考一下Sukie_csdn写的博客真的超级棒,超级详细,文章的一开始是讲xlrd这个是用来读excel的,假如你不看想看可以跳过,你直接看xlwt的操作。网址sukie对xlwt及xlrd解析的链接

# 解析文字信息,存储信息
data=[]
j=0
gd = getData(URL)
bs = BeautifulSoup(gd.get_html(), "lxml")
excel = xlwt.Workbook()
sheet1 = excel.add_sheet(u'sheet1', cell_overwrite_ok=True)
for t in bs.find_all('tr'):
    if re.match('首页上页123456789...下页尾页', t.text):
        continue
    data = re.split('\s', t.text)
    data.pop()
    del data[0]
    for i in range(0,8):
        sheet1.write(j,i,data[i])
    j += 1
excel.save("D:\python_excel\demo1.xlsx")

最看看效果图

爬取后的文字解析工作


有什么问题欢迎留言~谢谢Sukie_csdn写的一篇那么详细的文章~emmm……要不要考虑把它放到数据库里面?下一篇放到mongoDB?其实有个小小的bug