爬虫主要是两个功能,一是访问网页,二是从网页中提取数据。事实上访问网页基本都是调用接口直接就可以访问,而从网页中正确地提取数据是主要工作量所在。
这里给出两种提取数据的选择和用到的相关库。
先说说两种方法的特点:
python正则表达式:速度快,一整篇html能够用一句简短的正则表达式解决。但是有的html用正则表达式取到的数据会混乱(多个段落符合正则表达式,但是其中有的数据并不是我们想要提取的)。另外,下文推荐的python库request和re很简单。
xpath:xpath对xml格式的东西解析比较规范,基本上能做到你想要哪个数据就取哪个数据。但是要对xml格式有精确的了解。可以用lxml对xml解析。
scrapy应该还有一些别的爬虫优势我不知道的,比如其settings.py文件中应该可以伪装浏览器信息等,以后再研究。
下面就给出两种方法的具体操作用法吧:
1.python正则表达式:正则表达式语法规则参考 http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html
主要用到的函数是request.get()(请求网站)和re.findall()(正则表达式)
这里贴出一个小函数
def