使用Python截图抓取厦门房地产网签数据之二

有了链家的房源数据,另一个重要的需求是希望获取每天的成交数据,这个数据在厦门网上房地产“http://fdc.zfj.xm.gov.cn/Home/Index”。这个网站有三个数据是很有用的,分别是“一手房情况”,“一手房网签情况”,“二手房情况”,研究了网页代码后,发现src里没有完整链接,所以一开始只能用最蠢的把整个网页截屏的办法来做,见上一篇“使用Python截图抓取厦门房地产网签数据之一”。
今天继续研究,找到了整个完整的链接路径,这下好办了,可是用EDGE打开是乱码,试了FireFox和Chrome,都是乱码,只有IE是可以正常显示的,于是思路如下:

import requests
from bs4 import BeautifulSoup
from datetime import date
from time import sleep

headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66'
    }
def get_html():
    html = requests.get('http://fdc.zfj.xm.gov.cn/Home/Index',headers = headers).text
    soup = BeautifulSoup(html,'html.parser')
    return soup
# print(get_html())
def get_ysf_address():
    soup = get_html()
    ysf_image = soup.find('div',{'class':'container'}).find('div',{'style':'width:1000px;margin:0 auto;'}).\
                find('div',{'class':'main'}).find('div',{'class':'main_turnover clearfix'}).\
                find('div',{'class':'onehand onetwo'}).find('div',{'class':'imgcontainer'}).find('img').get('src')
    ysf_address = r'http://fdc.zfj.xm.gov.cn' + ysf_image
    return ysf_address
def get_ysfwq_address():
    ysfwq_img = get_html().find('div',{'class':'container'}).find('div',{'style':'width:1000px;margin:0 auto;'}).\
                find('div',{'class':'main'}).find('div',{'class':'main_turnover clearfix'}).\
                find('div',{'class':'netsign onetwo'}).find('div',{'class':'imgcontainer'}).find('img').get('src')
    ysfwq_address = r'http://fdc.zfj.xm.gov.cn' + ysfwq_img
    return ysfwq_address
# print(get_ysfwq_address())
def get_esf_address():
    esf_img = get_html().find('div',{'class':'container'}).find('div',{'style':'width:1000px;margin:0 auto;'}).\
                find('div',{'class':'main'}).find('div',{'class':'main_turnover clearfix'}).\
                find('div',{'class':'secondhand onetwo'}).find('div',{'class':'imgcontainer'}).find('img').get('src')
    esf_address = r'http://fdc.zfj.xm.gov.cn' + esf_img
    return esf_address
def get_picture():
    for a in (get_esf_address(),get_ysf_address(),get_ysfwq_address()):
        f = open("C:\\data\\网签备份\\" + str(date.today()) + a[30:35] + '.png','w+b')
        f.write(requests.get(a,headers = headers).content)
        sleep(15)

try:
    get_picture()
except:
    print(False)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White_Mountain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值