爬取安居客上住房信息的简单爬虫 ,并存储为表格文件

2023-11-24 20:20

本文主要是介绍爬取安居客上住房信息的简单爬虫 ,并存储为表格文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码如下,有注释进行介绍:

#本爬虫仅用于学习,纯属爱好,虽然本爬虫很简单,但还是请大家不要滥用
#python3, Firefox浏览器import requests
from bs4 import BeautifulSoup
import time
import csv# 定制请求头,请求头在浏览器中查看,具体方法见附录一
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0',
}# 将要访问的网址
link = 'https://beijing.anjuke.com/sale/'
# 访问该网站
r = requests.get(link, headers=headers, timeout=100)# 使用BeautifulSoup提取html中的内容
# BeautifulSoup 中文官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/#id37
soup = BeautifulSoup(r.text, 'lxml')
house_list = soup.find_all('li', class_="list-item")# 将爬取的内容写入 test.csv中,编码格式为 'UTF-8'
with open('test.csv', 'a+', encoding='UTF-8', newline='') as csvfile:w = csv.writer(csvfile)for house in house_list:temp = []name = house.find('div', class_="house-title").a.text.strip()price = house.find('span', class_='price-det').text.strip()price_area = house.find('span', class_='unit-price').text.strip()no_room = house.find('div', class_='details-item').span.textarea = house.find('div', class_='details-item').contents[3].textfloor = house.find('div', class_='details-item').contents[5].textyear = house.find('div', class_='details-item').contents[7].textbroker = house.find('span', class_='brokername').textbroker = broker[1:]address = house.find('span', class_='comm-address').text.strip()address = address.replace('\xa0\xa0\n                  ', ' ')tag_list = house.find_all('span', class_='item-tags')tags = [i.text for i in tag_list]temp = [name, price, price_area, no_room, area,floor, year, broker, address, tags]print(temp)# 写入表格(test.csv)w.writerow(temp)

附录一,请求头的查找:

打开浏览器到你要爬取的网站 -->  右键选择查看元素 --> 点击网络(如图一)-->

重新载入当前页面 -- > 右键点击开发者工具栏--> 点击原始头(如图二)就可以看到请求头

图一

图二

 

参考文献:python网络爬虫从入门到实践 唐松等 【2017.9】

这篇关于爬取安居客上住房信息的简单爬虫 ,并存储为表格文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/422513

相关文章

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Java利用poi实现word表格转excel

《Java利用poi实现word表格转excel》这篇文章主要为大家详细介绍了Java如何利用poi实现word表格转excel,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、每行对象类需要针对不同的表格进行对应的创建。package org.example.wordToEx

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现