最近身边有几个做房产销售的朋友经常在诉苦,找不到客户,没有业绩,所以就比较好奇他们现在的行情,所以今天我们就使用python获取下安居客的一些房源数据。之前分享过很多关于爬虫的实践示例,今天这个也算是实践内容。我们就以户型结构、装修情况、水肥情况进行房源数据获取。 爬取数据的通用流程:1、根据url请求页面,获取页面响应对象2、将页面响应对象转化为对象 3、定位要爬取的数据 4、获取数据。 在上代码之前先和大家交流下网站的反爬。像这样的网站反爬都是比较严的,所以基本的反爬措施也是需要做好的,其中最重要的是代理IP的使用,更是需要高质量的代理效果才可以。高质量的代理有需要的可以考虑下https://www.16yun.cn/#worth。简单的爬虫代码示例如下: #! -- encoding:utf-8 --
import requests
import random
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host" : proxyHost,
"port" : proxyPort,
"user" : proxyUser,
"pass" : proxyPass,
}
# 设置 http和https访问都是用HTTP代理
proxies = {
"http" : proxyMeta,
"https" : proxyMeta,
}
# 设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}
resp = requests.get(targetUrl, proxies=proxies, headers=headers)
print resp.status_code
print resp.text
如果报错就从网页手动访问页面,看是不是被人家的系统检测到你爬取了。整个过程还是比较简单的,大家可以实践看下。更多的爬虫知识我们之后会分享更多,大家有交流下爬虫经验。
|