从网页源码中可以看出这是静态网页,可以直接从源代码里拿数据,先用requests,在用BeautifulSoup解析,最后通过查找获取数据

import requests
from bs4 import BeautifulSoupdef get_li():re=requests.get(url,headers=headers)soup=BeautifulSoup(re.text,'html.parser')num=soup.find('ul',class_='sellListContent')return numdef get_data(num):for i in num:try:price=i.find('div',class_='totalPrice totalPrice2').find('span').textsize=i.find('div',class_="houseInfo").textprint(f"{size},价格为{price}万")except:passif __name__ == '__main__':for j in range(1, 11):url = f'https://bj.lianjia.com/ershoufang/pg{j}/'headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"}lis=get_li()get_data(lis)

可以通过改 j 来改爬取网页的数量,为防止反爬,所以加个请求头,而BeautifulSoup解析后的对象是Tag对象,可以通过class或者id等来查找数据。

第二种是selenium方法,

from selenium import webdriver
from selenium.webdriver.common.by import Byweb=webdriver.Chrome()
web.get('https://bj.lianjia.com/ershoufang/')
web.maximize_window()
web.implicitly_wait(10)
lis=web.find_elements(By.XPATH,'//*[@id="content"]/div[1]/ul/li')
for li in lis:try:size=li.find_element(By.CLASS_NAME,'houseInfo').textprice=li.find_element(By.XPATH,'//*[@id="content"]/div[1]/ul/li[1]/div[1]/div[6]/div[1]/span').textprint(f"{size},价格为{price}万")except:passinput()
web.close()

其中的try except是因为中间有个li是广告,但可以通过这种方法将其忽略。

如果最后想要保存的Excel表格中的可以导入xlwt来储存

爬取北京链家二手房(requests和selenium)相关推荐

  1. 爬取北京链家二手房数据

    利用python爬取了北京链家主页的二手房数据,爬取时间为2020年1月8日.由于链家只显示了100页.每页30条,因此只能爬取3000条数据. 后续将爬取各区的小区名,对每个小区的在售二手房数据进行 ...

  2. Python爬虫框架Scrapy入门(三)爬虫实战:爬取长沙链家二手房

    Item Pipeline介绍 Item对象是一个简单的容器,用于收集抓取到的数据,其提供了类似于字典(dictionary-like)的API,并具有用于声明可用字段的简单语法. Scrapy的It ...

  3. 简单python脚本 爬取杭州链家二手房 房价信息

    爬取链家房价信息 主要使用以下库: requests BeautifulSoup 相关问题 当爬取次数太多的时候,可能会遇到被封的情况或者验证码, 大佬们可以自行解决,这个脚本里面我就不掺和了,毕竟我 ...

  4. 爬取广州链家二手房并写入csv

    知识点:多线程,读取csv,xpath import json import csv import requests import threading import lxml import lxml. ...

  5. 用Python爬取2020链家杭州二手房数据

    起源于数据挖掘课程设计的需求,参考着17年这位老兄写的代码:https://blog.csdn.net/sinat_36772813/article/details/73497956?utm_medi ...

  6. 爬取‘广州链家新房’数据并以csv形式保存。

    --本次的目标是爬取'广州链家新房'前十页的信息,具体需要爬取的信息为'楼房名字.地址.价格以及是否在售的情况',具体的代码如下. import requests,time import pandas ...

  7. 爬取南京链家租房信息

    爬取南京链家租房信息 代码如下 代码片. import requests from lxml import etree if name == "main": #设置一个通用URL模 ...

  8. 北京链家二手房数据分析

    首先我们需要将链家二手房的数据抓取下来,用我们上课学的内容,很容易实现(bs4,re,urllib,搞定!): import re import csv from bs4 import Beautif ...

  9. 数据抓取 | 数据分享 - 北京链家二手房成交数据抓取,保存格式为excel

    该项目应客户需求,抓取 东城西城朝阳海淀二手房成交 数据 抓取字段为:房源id,房型,交易日期,位置,总价,朝向,装修情况,建筑年代,所在楼层,房屋年限,建筑面积,套内面积,电梯情况 -- 抓取流程: ...

最新文章

  1. Android自定义spinner下拉框实现的实现
  2. Ember 3.9 发布,3.8 升级为 LTS
  3. ECMAScript6入门教程(二)
  4. 这Hadoop分布式文件系统
  5. python settings模块_Python settings.VERSION属性代码示例
  6. 林正刚:写一个大大的“诚”字
  7. Java Socket文件上传
  8. python中的 __getattr__ __setattr__ __getitem__ __add__
  9. Win socket编程--IOCP完成端口模型
  10. 美团外卖自动化业务运维系统建设
  11. qq互联代码 php,请教QQ互联的代码是如何写的?
  12. 有效解决 Word打印出来的页码出现乱码
  13. vue+mintUI-------mintUI中indicator报错
  14. sublime清除html里面的空白行,Sublime Text批量删除空白行和注释代码
  15. 7 21 第一次团队赛——————写给队友
  16. idear修改新的git地址
  17. UI设计VIP课程开放20个试听名额啦(先到先得)
  18. Visio 去交点处跨线
  19. mysql如何盈利_mysql到底是不是免费的?
  20. node.jshe npm的区别

热门文章

  1. android小游戏源码拼图,android编写的数字拼图游戏(带详细注释)
  2. 正则表达式匹配仅包含某些字符或者包含某些字符
  3. 2022“杭电杯”中国大学生算法设计超级联赛(4)
  4. python中怎么随机从字典中取值_python怎样从字典中随机取数据
  5. 事业单位和公务员的面试方式有什么区别?
  6. docx_demos(创建文档类Document及属性方法, 创建段落文本类Paragraph及段落格式设置, 创建字体设置类Run及属性等)
  7. 散焦光栅 matlab代码,散焦光栅测量光束漂移的光路设计仿真
  8. Python基础教程(第3版)读书笔记:第2章 列表和元组
  9. 【学习笔记】Linux_RedHat7.7(maipo),概述/目录信息/系统信息/版本信息/文件/用户/编辑/网络/路由/防火墙/监控/安装/定时任务等常用操作
  10. Worthington产气荚膜梭菌神经氨酸酶的特征及测定