python基础课程4(看代码看注释)--爬虫爬取网页信息

#主要用的python库:安装必要的库requests:用来获取页面信息; BeautifulSoup:用来获取页面结构的详细信息
#先获取链接,再到一个列表,进入标签,然后到class。。。。。就可以了(省略)
#安装
import requests
from bs4 import BeautifulSoup
url = "https://hz.lianjia.com/zufang/"
responce=requests.get(url)#获取到页面信息200,页面信息存储在text中
#查看页面信息存储位置,response.text
responce.text
soup = BeautifulSoup(responce.text,'lxml')#解析使用lxml格式的文本存储,使文本结构化了
links_div=('div',class_="pic-panel")##class加下划线是因为class是python里的关键字,此class非彼class
#从列表框里生成另一个列表推导式,利用列表生成式
links  =[div.a.get('herf') for div in links_div]
print(links,len(links))##30个链接,访问这些链接可以得到详细的租房信息
#links_div[1].a.get('herf')##仅仅提取了这个链接就够了
##上述代码封装成函数,名字为get_links,作用为获取下边所有租房页面的链接,返回一个链接列表##封装:获取url页面下的内容,返回soup对象
def get_page(url):responce = request.get(url)soup = BeautifulSoup(responce.text, 'lxml')return soupdef get_links(link_url):#responce = requests.get(url)  # 获取到页面信息200,页面信息存储在text中。已封装成上述函数#soup = BeautifulSoup(responce.text, 'lxml')  # 解析使用lxml格式的文本存储,使文本结构化了。已封装成上述函数#调用上述替代上边注释掉的两行的函数soup=get_page(link_url)links_div = soup.find_all('div',class_='pic-panel')links=[links_div.a.get('herf') for div in links_div]return linkslinks_url="https://hz.lianjia.com/zufang/"get_links(links_url)def get_huose_info(huose_url)huose_url = "https://hz.lianjia.com/zufang/103102641328.html"#responce = request.get(hour_url)#soup = BeautifulSoup(responce.text,'lxml')#调用函数soup=get_page(huose_url)price=soup.find('span',class_="total").text##直接把价格4500获取出来unit=soup.find('span',class_="unit").textunit.str()#str函数字符转换工具house_info=soup.find_all('p')#('p',class='if')area=huose_info[0].text[3:]#切片工具切片掉标题:面积:layout=huose_info[1].text[5:]floor=huose_info[2].text[3:]direction = house_info[3].text[5:]##地铁没有class,说明在获取huose_info时class时多余的train=huose[4].text[3:]#构建一个字典info={'面积':area,'价格':price}
封装数据库
DATABASE= {'host':127.0.0.1,'database':'Examination','user':'root','password':'yuping','charset':utf8mb4}
def get_db(setting):return MySQLdb.connect(**settings)
def insert(house_info):values = "'{}'"*11+"'{}'"sql_values = values.format(huose['价格'],huose['面积'],huose['价格'])sql = '''insert into 'huose'('price','unit','area')values({},)'''.format(sql_values)cursor = db.cursor()cursor.execute(sql)db.commit()
huose = get_huose_info('https://hz.lianjia.com/zufang/103102641328.html')
db = get_db(DATABASE)
insert(db,huose)
for link in links:time.sleep(2)##为了防止访问时间太长加上时间限制print("获取一个房子信息时间成功")huose = get_huose_info(link)insert(db,huose)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】58. 非线性滤波—中值滤波

【OpenCV 例程200篇】58. 非线性滤波—中值滤波 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制,是常用的图像…

python基础课程5(看代码看注释)--numpy

#人生苦短,我用python #给文件设置配置环境路径:file->Settings->project mylesson->project interpreter #numpy:除了字符串、列表、元组、字典之外还有一种数据结构就是数组,列表能存储任意数据,数组只能存储一种类型数…

【OpenCV 例程200篇】59. 非线性滤波—双边滤波

【OpenCV 例程200篇】59. 非线性滤波—双边滤波(Bilateral filter) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图…

部门信息管理系统

实现对部门信息的分类管理,对不同部门人员的管理(增删改查),新用户的注册和登陆等 功能分析: 实现用户的登陆实现用户的注册(注册不同的部门和职位)登陆之后会显示所有员工和经理的信息实现对…

python基础课程6(看代码看注释)--pandas

##人生苦短,我用python #pandas ##首先讲讲数据格式,csv文件格式,程序之间表格数据之间的转移,如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本,使用某个字符集,比如ascii,Unicode&a…

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波(Joint bilateral filter) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像滤波是在尽可能保留图像细节特征的条件…

python基础课程7(看代码看注释)--matplotlib作图

##人生苦短,我用python #pandas ##首先讲讲数据格式,csv文件格式,程序之间表格数据之间的转移,如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本,使用某个字符集,比如ascii,Unicode&a…

租车系统

为了资源的节约有效利用,使车辆发挥更大的作用,我在此做了一个租车系统。 功能分析: 1:登录功能 2:后台管理功能 3:车辆管理功能 4:用户管理功能 5:前台用户功能 6:查看…

【OpenCV 例程200篇】61. 导向滤波(Guided filter)

【OpenCV 例程200篇】61. 导向滤波(Guided filter) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑…

使用MATLAB GUI创建图形用户界面GUI

MATLAB是众多理工科学生及工程师经常使用的一款数学软件,除了可以实现数据处理,矩阵运算、函数绘制等功能外,MATLAB还可以实现图形用户界面的设计。 下面介绍如何让小白也能用GUI创建最基本的用户界面,并帮助大家学会在今后的…

【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽

【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 空间域锐化滤波(高通滤波) 图像模糊通过平滑(加权平均&a…

AJAX基本用法

在工作中和一些大项目制作的时候,许多人都会选择使用前后端分离技术即AJAX进行项目的制作,使用AJAX不仅能提高效率而且更容易修改,使我们制作项目的时候更加的得心应手。 在此给大家讲解一下AJAX的用法,一共有五个核心内容&#…

图像数据集转载

使用的数据集 THCHS30是Dong Wang, Xuewei Zhang, Zhiyong Zhang这几位大神发布的开放语音数据集,可用于开发中文语音识别系统。 为了感谢这几位大神,我是跪在电脑前写的本帖代码。 下载中文语音数据集(5G): 1 2 3 …

【OpenCV 例程200篇】63. 图像锐化之 Laplacian 算子

【OpenCV 例程200篇】63. 图像锐化之 Laplacian 算子 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 空间域锐化滤波(高通滤波) 图像模糊通过平滑(加权平…

秒表计时器

使用Jquery制作了一个漂亮的秒表计时器。 效果图 原始样式 点击开始之后 点击停止再点击清零之后 有没有一种心动的感觉呢&#xff0c;下面看代码。 代码演示 首先注意哦&#xff1a;引入相对应的Jquery架包。 代码 <!DOCTYPE html> <html><head>&l…

【OpenCV 例程200篇】64. 图像锐化——Sobel 算子

【OpenCV 例程200篇】64. 图像锐化——Sobel 算子 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平均…

sklearn特征工程

本文转载 使用sklearn做单机特征工程 目录 1 特征工程是什么&#xff1f; 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   …

秒表倒计时

使用JavaScript实现秒表的倒计时。 我设置的是五分钟倒计时&#xff0c;倒计时时间是可以自己随意设置的。 效果图 代码演示 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><style>…

【OpenCV 例程200篇】65. 图像锐化——Scharr 算子

【OpenCV 例程200篇】65. 图像锐化——Scharr 算子 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 空间域锐化滤波&#xff08;高通滤波&#xff09; 图像模糊通过平滑&#xff08;加权平均…

【转】常用的风控算法模型评价指标

1. 基本概念 FNTPTNFP TP —— True Positive &#xff08;真正, TP&#xff09;被模型预测为正的正样本&#xff1b;可以称作判断为真的正确率 TN —— True Negative&#xff08;真负 , TN&#xff09;被模型预测为负的负样本 &#xff1b;可以称作判断为假的正确率 FP ——…