同步操作将从 小柒2012商城/从零学Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#coding=utf-8#!/usr/bin/python# 导入requests库__author__ = "小柒"__blog__ = "https://blog.52itstyle.vip/"import requests# 导入文件操作库import osimport reimport bs4from bs4 import BeautifulSoupimport sysfrom util.mysql_DBUtils import mysql# 写入数据库def write_db(param):try:sql = "insert into house (url,housing_estate,position,square_metre,unit_price,total_price,follow,take_look,pub_date) "sql = sql + "VALUES(%(url)s,%(housing_estate)s, %(position)s,%(square_metre)s,"sql = sql + "%(unit_price)s,%(total_price)s,%(follow)s,%(take_look)s,%(pub_date)s)"mysql.insert(sql, param)except Exception as e:print(e)# 主方法def main():# 给请求指定一个请求头来模拟chrome浏览器headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'}page_max = 100# 爬图地址for i in range(1, int(page_max) + 1):print("第几页:" + str(i))if i == 1:house = 'https://qd.lianjia.com/ershoufang/shibei/'else:house = 'https://qd.lianjia.com/ershoufang/shibei/pg'+str(i)res = requests.get(house, headers=headers)soup = BeautifulSoup(res.text, 'html.parser')li_max = soup.find('ul', class_='sellListContent').find_all('li')for li in li_max:try:house_param = {}# 格式 荣馨苑 | 3室2厅 | 115.91平米 | 南 北 | 毛坯 | 无电梯content = li.find('div', class_='houseInfo').textcontent = content.split("|")house_param['housing_estate'] = content[0]house_param['square_metre'] = re.findall(r'-?\d+\.?\d*e?-?\d*?', content[2])[0]# --------------------------------------------------------## 位置 水清沟position = li.find('div', class_='positionInfo').find('a').texthouse_param['position'] = position# --------------------------------------------------------#totalprice = li.find('div', class_='totalPrice').texthouse_param['total_price'] = re.sub("\D", "", totalprice)unitprice = li.find('div', class_='unitPrice').texthouse_param['unit_price'] = re.sub("\D", "", unitprice)# --------------------------------------------------------## 57人关注 / 共13次带看 / 6个月以前发布follow = li.find('div', class_='followInfo').textfollow = follow.split("/")house_param['follow'] = re.sub("\D", "", follow[0])house_param['take_look'] = re.sub("\D", "", follow[1])# --------------------------------------------------------## 二手房地址title_src = li.find('div', class_='title').find('a').attrs['href']house_param['url'] = re.sub("\D", "", title_src)res = requests.get(title_src, headers=headers)soup = BeautifulSoup(res.text, 'html.parser')# --------------------------------------------------------## 挂牌时间(重要数据)pub_date = soup.find('div', class_='transaction').find_all('li')[0].find_all('span')[1].texthouse_param['pub_date'] = pub_datewrite_db(house_param)except Exception as e:print(e)mysql.end("commit")mysql.dispose()if __name__ == '__main__':main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。