python爬虫有多少种方式?只会最简单的正则表达式,还有其他什么工具吗?

StephenFeng232431382


匹配方式主流的有三种:

1.re 我在爬虫开发中一般用这种来匹配js中的内容。说下优缺点:调试困难,相对较难找出匹配了多少数据,由于页面内容复杂较大概率出现错误匹配。

2.xpath选择器和css选择器 xpath是我开发过程中最常用的匹配方式,原理和css类似,都是基于html dom节点,不改变网页内容基本不会出问题。两者基本上规则都一样,只是形式不同


火星异端


这里介绍一种简单的方式—BeautifulSoup,利用BeautifulSoup将爬虫获取到的html页面转化为树形结构,然后再根据需要提取标签的内容及属性,不需要正则表达式,下面我简单介绍一下BeautifulSoup安装和使用,实验环境win10+python3.6+pycharm5.0,主要内容如下:

1.安装bs4,这里直接在cmd窗口输入命令“pip install bs4”就行,如下,很快就能安装完毕:

2.安装成功后,我们就可以进行测试了,为了更好地说明问题,这里假设爬取的数据如下,内容比较简单:

对应的网页源码结构如下:

根据网页结构,解析代码如下,这里我是本地打开html文件,爬虫的话,直接使用requests请求对应的页面(requests.get(url)),解析的方式是一样的:

程序运行截图如下,已经成功获取到数据:

至此,我们就完成了利用BeautifulSoup来解析网页内容,整个过程不需要正则表达式。总的来说,这种方式很简单,对于常见的简单的页面来说,完全够用了(不过,正则表达式的使用范围比较广,建议还是认真学习一下),网上也有相关教程和资料,感兴趣的可以搜一下,希望以上分享的内容能对你有所帮助吧。


分享到:


相關文章: