Python爬虫之二手房

倔强青铜在线写贴

老师教了四周的爬虫课,都没怎么学会,没想到这世上该你要学的东西,根本逃不脱,在老师的威逼利诱下,爬虫总算是初见成效,写帖子记录下来。

这是一个关于永川二手房信息的爬虫,纯属学习需要。。。

# coding=gbk
#需要引用的库
from selenium import webdriver
from lxml import etree
import re
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import pandas as pd
import time
url='https://fc.cqyc.net/resoldhome/esf/list?page=1'
cookies_str=''#cookie太多了也,影响我界面美感
cookies={}
for i in cookies_str.split(';'):k,v=i.split('=',1)cookies[k]=v
drive=webdriver.Chrome()
drive.get(url)
#网页源码解析
dom=etree.HTML(drive.page_source,etree.HTMLParser(encoding='utf-8'))def house_data(dom=None,cookies=None):title=dom.xpath('//p[@class="title"]/a[@target="_blank"]/text()')#二手房简述
#print(len(title))number=dom.xpath('//p[@class="detail"]/span[2]/text()')
#     #层数
#print(len(number))pattern=dom.xpath('//p[@class="detail"]/span[1]/text()[1]')
#     #几室几厅
#print(len(pattern))address=dom.xpath('//p[3]/span[@class="maps"]/text()')
#     #地址
#print(len(address))size=dom.xpath('//div[2]/div[1]/p[1]/span/text()') if len(dom.xpath('//p[1]/span/text()'))>0 else None
#     #建筑面积
#print(len(size))price=dom.xpath('//p[1]/em[@class="prices"]/text()')
#     #价格
#print(len(price))picture=dom.xpath('//li/div[1]/a/img/@src') if len(dom.xpath('//div[1]/a/img/@src'))>0 else None
#图片链接【0】是提取返回list中的每一个字符串,此处0是加在if前的0
#print(len(picture))time.sleep(2)film_review={'简述':title,'层数':number,'几室几厅':pattern,'地址':address,'建筑面积/平方米':size,'价格/万元':price,'图片链接':picture}
#print(film_review)data=pd.DataFrame(film_review)return data
# return film_review
# data.to_csv('data1.csv')
DATA=pd.DataFrame()
wait=WebDriverWait(drive,30)
##翻页处理
a=1
while True:condirm_btn=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'body > div:nth-child(7) > div.main-left > div.page-box > a:nth-child(11) > span')))dom = etree.HTML(drive.page_source, etree.HTMLParser(encoding='utf-8'))data = house_data(dom=dom, cookies=cookies)DATA=pd.concat([DATA,data],axis=0)print('爬取一页')if a==7:breakelse:a=a+1condirm_btn.click()a=a+1
#保存为csv文件
DATA.to_csv('永川二手房.csv',index=None,encoding='utf-8')

代码结束了,总结几条,遇见的问题。
1、复制的xpath路径居然复制了全路径,上次都没有出现这种情况
2、打印爬取内容长度的时候,短了就加if识别,多了就再检查路径,多半是路径筛选不够严格
3、路径后面加0的用法还不是很清晰,以后可以注意点
4、爬取标题的时候通常使用target类?保留疑问

Python爬虫之二手房相关推荐

  1. python爬虫requests源码链家_python的爬虫项目(链家买二手房)

    不知不觉,已经工作6年有余,恍恍惚惚,有机会满足房子需求. 在收集房子信息过程中,做些记录. 贝壳的功能很强大,但很难满足小区.距离.教育.面积等多个方面的匹配,使用起来成本仍然较高. 针对以上情况, ...

  2. 小白学 Python 爬虫(26):为啥上海二手房你都买不起

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 抓取安居客二手房经纪人数据,python爬虫自动翻页

    为什么80%的码农都做不了架构师?>>>    和链接不一样,安居客网站里面没有找到总页数,可能在json里面有,只是我没有找到. 基于此能不能做网页的循环爬取呢. 能否判断页面读取 ...

  4. 【期末大作业】二手房Python爬虫+Flask前端展示+Echarts可视化大项目

    目录 前言 一.项目目标 二.使用工具 三.结果展示 总结 前言 爬虫 :一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. Python 爬虫架构主要由五个部分组成,分别是调度器.U ...

  5. Python爬虫实战,requests+parsel模块,爬取二手房房源信息数据

    前言 最近在尝试用Python爬虫二手房房源信息数据,在这里给需要的小伙伴们提供代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本 ...

  6. Python爬虫-某家网平台二手房

    前言 本文是该专栏的第52篇,后面会持续分享python爬虫干货知识,记得关注. 在本专栏之前,笔者有详细介绍某某安网的新房和二手房"某平台新房和二手房",感兴趣的同学,可翻阅查看 ...

  7. 一个月入门Python爬虫,轻松爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...

  8. python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...

    原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...

  9. python爬虫代码房-Python爬虫一步步抓取房产信息

    原标题:Python爬虫一步步抓取房产信息 前言 嗯,这一篇文章更多是想分享一下我的网页分析方法.玩爬虫也快有一年了,基本代码熟悉之后,我感觉写一个爬虫最有意思的莫过于研究其网页背后的加载过程了,也就 ...

  10. python爬虫项目-32个Python爬虫实战项目,满足你的项目慌

    原标题:32个Python爬虫实战项目,满足你的项目慌 爬虫项目名称及简介 一些项目名称涉及企业名词,小编用拼写代替 1.[WechatSogou]- weixin公众号爬虫.基于weixin公众号爬 ...

最新文章

  1. 鸿蒙系统首批更新机器,鸿蒙系统升级名单
  2. TerryLee技术专栏WCF后传正文 WCF后传系列(3):深入WCF寻址Part 3—消息过滤引擎...
  3. golang编译错误 copying /tmp/go-build069786374/b001/exe/a.out: No such file or directory 解决方法
  4. (转)pipe row的用法, Oracle split 函数写法.
  5. [PLAYING QTP] Part2—Record
  6. 通过 ViewState 保存 Self-Tracking Entities
  7. 漫谈设计模式--3分钟理解桥接模式:笔和画的关系
  8. (38)编写 ShellCode
  9. React开发(203):react代码分割之React.lazy
  10. iOS开发中 常用枚举和常用的一些运算符(易错总结)
  11. android selector 中的选中、点击、获得焦点的区别
  12. 微型计算机的逻辑元素,微机原理及应用 宋廷强 微型计算机原理及应用.ppt
  13. tensorflow和keras的关系
  14. 风雨秋招路-CV太难了-记得复盘
  15. 中国公有云厂商2017年收入利润综合排名
  16. 阶段性总结 个人总结 (上)
  17. 敏捷经验教训, 开发总结!
  18. 美化windows xp 完全教程
  19. 小巫随笔12(致小巫逝去的童年),2021最新阿里Android面试流程
  20. Golang happen before

热门文章

  1. Skype for business之Skype会议直播
  2. curl_getinfo函数
  3. 如何在 Unity Editor 中录制游戏界面
  4. 进击的自走棋——《金铲铲之战》游戏体验报告
  5. html页面弹出 聊天框,网页弹出在线交流聊天窗口的功能如何实现 - 快商通
  6. 翻炒《天龙八部》[转]
  7. MySQL项目练习2——员工信息表项目
  8. 高等数学:第六章 定积分的应用(2)平面图形的面积
  9. 力扣刷题-题目以及答案
  10. 使用MediaRecorder录制音频