初学python和爬虫,正好赶上要在帝都租房,于是打算自己抓下链家的租房数据试试。看到网上有人抓取链家的二手房买卖数据,参考了下,不过我抓租房数据的时候发现还比较简单,不需要模拟登陆,链家也没怎么反爬虫,因而一路还比较顺利。
总体思路,虽然链家没有采用太多的反爬虫技术,但是基本的限制IP访问密度还是做了的,所以得动用代理,这么一来,抓取效率也必然降低,所以得采用多线程。实现的时候先实现代理的抓取,然后实现单线程单页面的抓取,接着改为多线程,再结合代理。
先看下代理部分。网上搜索了下,几个不断更新的免费的代理平台有,快代理、西刺代理和proxy360。那就针对这几个网站,分别封装类,提取代理IP和端口呗。限于初学,为了扎实基本功,就用了最笨的正则表达式提取数据。
先把代码全部贴出来:
# coding=utf-8#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = ATPimport urllibimport urllib2import reimport timeimport threadingimport socketfrom bs4 import BeautifulSoupimport sysimport randomimport getProxyreload(sys)sys.setdefaultencoding(utf-8)BSparser = html.parserUserAgents=[&
如果觉得《python爬虫抓取链家租房数据》对你有帮助,请点赞、收藏,并留下你的观点哦!