使用requests包来爬取页面。
使用正则表达式分析一级页面,使用Xpath来分析二级页面。
将得到的标题和链接,保存为本地文件。
只是一个闲来无事的小练手:
1 | # -*- coding: utf-8 -*- |
这里要注意的是,使用单线程requests模块短时间高频率的访问一个服务器上的内容,可能会导致requests崩溃,报错
1 | requests.exceptions.ConnectionError: HTTPConnectionPool(host='******', port=80): Max retries exceeded with url |
错误信息也已经指的相当清楚,在这里可以通过人工的暂歇处理,降低当前服务器的访问频率:
time.sleep(0.x)
先使用lxml模块中的etree对象进行原始网页数据的页读取处理,生成元素树,然后通过强大的Xpath模块解析获取所需的内容。