当前位置: 首页 > news >正文

汽车商城网站模板百度seo关键词

汽车商城网站模板,百度seo关键词,网站开发用哪些字体,网站建设 太原简介:个人学习分享,如有错误,欢迎批评指正 任务:从房天下网中爬取小区名称、地址、价格和联系电话 目标网页地址:https://newhouse.fang.com/house/s/ 一、思路和过程 目标网页具体内容如下: ​​​​ …

简介:个人学习分享,如有错误,欢迎批评指正

任务从房天下网中爬取小区名称、地址、价格和联系电话

目标网页地址:https://newhouse.fang.com/house/s/

一、思路和过程

目标网页具体内容如下:
​​​​
在这里插入图片描述

我们的任务是将上图中小区名称、地址、价格和联系电话对应爬下来。

1.定义目标URL

由于网页普遍具有反爬程序,不加修饰的直接访问网页可能会失败,所以第一步学会伪装自己。
如何伪装自己呢,可以通过找到正常访问网页时的访问状态,将自己的这次爬虫模拟成一次正常访问网页,因此我们的目标是找到正常访问网页时的User-Agent。User Agent中文名为用户代理,(简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等)。User-Agent就是你访问网页的身份证明。具体操作如下:

首先打开目标(/任意)网页,然后点击鼠标右键后选择检查打开网页的HTML 页面。
在这里插入图片描述

在HTML 页面里面依次点击网络,然后任意点一条网络请求(如果没有显示任何网络请求可以点击网页左上角的刷新),然后选择标头,下拉列表找到User-Agent,User-Agent后面那段内容就是我们用来伪装自己的身份码。

在这里插入图片描述

2.发送GET请求获取网页内容

通过上面的步骤我们获得了
url = ‘https://newhouse.fang.com/house/s/’

User-Agent:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0’

接下来发起网页访问请求,代码如下:

import requests  # 引入requests库,用于发送HTTP请求
from lxml import etree  # 引入lxml库中的etree模块,用于解析HTML文档# 定义目标URL,即要爬取的网页地址
url = 'https://newhouse.fang.com/house/s/'# 定义HTTP请求头,其中包括User-Agent信息,用于伪装成浏览器进行访问
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
}# 发送GET请求获取网页内容,并将响应内容存储在resp变量中
resp = requests.get(url, headers=headers)
# 设置响应内容的编码格式为utf-8,确保中文字符正常显示
resq.encoding = 'utf-8'
# 打印响应内容,检查获取到的HTML文本
print(resp.text)

查看print结果,我们发现成功获得了网页相关的html表达,

在这里插入图片描述

3.分析网页内容

接下来对html进行解析获得我们目标内容。
这里,我们需要借助工具xpath来辅助内容解析,xpath安装教程

安装成功后,按Ctrl+Shift+Alt 启动 xpath,网页上方出现如下图所示框,
在这里插入图片描述
找到目标内容方法
例:我们的目标是找到小区名字在html中的位置。点击如下图左边标记(1),该命令的含义是在网页中选择一个元素以进行检查,即当你把鼠标放在网页的某一位置,下面也会自动定位到html中该内容所在位置,如图所示,把鼠标放在北京城建·星誉BEIJING(2),下面显示小区名在html中所在位置(3)。
在这里插入图片描述

明确目标内容的位置。具体的,如下图所示,小区名北京城建·星誉BEIJING,它位于div class="nlcd_name"中的a里面。

在这里插入图片描述

因此,我们可以通过这个层层关系来找到目标所有小区名,借助刚才安装的工具xpath,下面一步步演示层层查找过程。
首先,在query中添加//div[@class=“nlcd_name”],可以发现右边的results将所有小区的名字返回了。

在这里插入图片描述

其次,加上筛选条件a得
在这里插入图片描述

同理,query中添加//div[@class=“nlcd_name”],可以发现右边的results将所有小区的地址返回了。
在这里插入图片描述

同理,query中添加//div[@class=“nhouse_price”],可以发现右边的results将所有小区的价格返回了。
在这里插入图片描述

同理,query中添加//div[@class=“tel”]/p/text(),可以发现右边的results将所有小区的联系方式返回了。

在这里插入图片描述

但是,我们发现上面只能取到单页的内容,而整个网页如下有很多页。
在这里插入图片描述
对于上述问题,我们通过对比下图情况,发现url地址不同的页码的url仅仅换了最后一个数字,数字即对应页码。

在这里插入图片描述在这里插入图片描述
因此进一步添加一个for循环来取得所有页的url地址,代码如下:

for i in range(4):# 构建每一页的URLurl = f'https://newhouse.fang.com/house/s/b9{i}/'# 发送GET请求获取网页内容,并将响应内容存储在resq变量中resq = requests.get(url, headers=headers)# 设置响应内容的编码格式为utf-8,确保中文字符正常显示resq.encoding = 'utf-8'# 打印响应内容,检查获取到的HTML文本print(resq.text)

因此,通过xpath的可视化辅助,得上面地址
//div[@class="nlcd_name"]/a可以获取小区名称,//div[@class="address"]/a/@title可以获取小区地址,//div[@class="nhouse_price可以获取小区价格,//div[@class="tel"]/p/text()可以获取小区联系电话。

4.获取目标数据

上一步得到了目标数据的地址,接下来就是分别获得到目标数据,代码如下:

    # 使用etree.HTML方法将HTML文本解析为一个HTML文档对象e = etree.HTML(resq.text)# 使用XPath语法从HTML文档中提取出小区名称,并去除字符串前后的空白字符names = [n.strip() for n in e.xpath('//div[@class="nlcd_name"]/a/text()')]# 使用XPath语法从HTML文档中提取出小区地址addreses = e.xpath('//div[@class="address"]/a/@title')# 使用XPath语法从HTML文档中提取出小区价格,并去除多余的空白字符price = [pr.xpath('string(.)').strip() for pr in e.xpath('//div[@class="nhouse_price"]')]# 使用XPath语法从HTML文档中提取出联系电话tel = e.xpath('//div[@class="tel"]/p/text()')

5.保存数据

存为一个txt文件

with open('fangtianxia.txt', 'w', encoding='utf-8') as f:# 使用zip函数将名称、地址、价格、电话数据组合在一起,逐行写入文件for na, ad, pr, te in zip(names, addreses, price, tel):# 写入格式为:红球号码:xxx 蓝球号码:xxxf.write(f'姓名:{na} 地址:{ad} 价格:{pr} 电话:{te}\n')

二、完整python代码

import requests  # 引入requests库,用于发送HTTP请求
from lxml import etree  # 引入lxml库中的etree模块,用于解析HTML文档
import pandas as pd  # 引入pandas库,用于处理和存储数据# 定义HTTP请求头,其中包括User-Agent信息,用于伪装成浏览器进行访问
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
}# 初始化一个空列表,用于存储爬取的数据
data = []# 循环遍历4个页面,每个页面的URL末尾数字依次递增
for i in range(4):# 构建每一页的URLurl = f'https://newhouse.fang.com/house/s/b9{i}/'# 发送GET请求获取网页内容,并将响应内容存储在resq变量中resq = requests.get(url, headers=headers)# 设置响应内容的编码格式为utf-8,确保中文字符正常显示resq.encoding = 'utf-8'# 打印响应内容,检查获取到的HTML文本print(resq.text)# 使用etree.HTML方法将HTML文本解析为一个HTML文档对象e = etree.HTML(resq.text)# 使用XPath语法从HTML文档中提取出小区名称,并去除字符串前后的空白字符names = [n.strip() for n in e.xpath('//div[@class="nlcd_name"]/a/text()')]# 使用XPath语法从HTML文档中提取出小区地址addreses = e.xpath('//div[@class="address"]/a/@title')# 使用XPath语法从HTML文档中提取出小区价格,并去除多余的空白字符price = [pr.xpath('string(.)').strip() for pr in e.xpath('//div[@class="nhouse_price"]')]# 使用XPath语法从HTML文档中提取出联系电话tel = e.xpath('//div[@class="tel"]/p/text()')with open('fangtianxia.txt', 'w', encoding='utf-8') as f:# 使用zip函数将名称、地址、价格、电话数据组合在一起,逐行写入文件for na, ad, pr, te in zip(names, addreses, price, tel):# 写入格式为:红球号码:xxx 蓝球号码:xxxf.write(f'姓名:{na} 地址:{ad} 价格:{pr} 电话:{te}\n')

结~~~


文章转载自:
http://stellar.bwmq.cn
http://defang.bwmq.cn
http://psoralea.bwmq.cn
http://pinge.bwmq.cn
http://mpp.bwmq.cn
http://irresponsive.bwmq.cn
http://linoleum.bwmq.cn
http://neurolysis.bwmq.cn
http://elvira.bwmq.cn
http://supercluster.bwmq.cn
http://strumpet.bwmq.cn
http://euhominid.bwmq.cn
http://brook.bwmq.cn
http://jewish.bwmq.cn
http://limpsy.bwmq.cn
http://demonize.bwmq.cn
http://daylong.bwmq.cn
http://polymastigote.bwmq.cn
http://pageant.bwmq.cn
http://fugleman.bwmq.cn
http://covetously.bwmq.cn
http://vitrain.bwmq.cn
http://fingered.bwmq.cn
http://biotechnology.bwmq.cn
http://advisement.bwmq.cn
http://poleax.bwmq.cn
http://insalutary.bwmq.cn
http://flunkey.bwmq.cn
http://croupy.bwmq.cn
http://oceanographical.bwmq.cn
http://insufferably.bwmq.cn
http://curvidentate.bwmq.cn
http://comsomol.bwmq.cn
http://consuetudinary.bwmq.cn
http://kavakava.bwmq.cn
http://keelblock.bwmq.cn
http://ladyfinger.bwmq.cn
http://interdepend.bwmq.cn
http://metritis.bwmq.cn
http://solander.bwmq.cn
http://lanner.bwmq.cn
http://shivaree.bwmq.cn
http://octameter.bwmq.cn
http://forgetful.bwmq.cn
http://batch.bwmq.cn
http://duniewassal.bwmq.cn
http://hematemesis.bwmq.cn
http://disembody.bwmq.cn
http://spurn.bwmq.cn
http://rhizopus.bwmq.cn
http://fuzzball.bwmq.cn
http://noble.bwmq.cn
http://categorical.bwmq.cn
http://icelandic.bwmq.cn
http://pup.bwmq.cn
http://safing.bwmq.cn
http://dishware.bwmq.cn
http://octavius.bwmq.cn
http://application.bwmq.cn
http://piped.bwmq.cn
http://firemaster.bwmq.cn
http://aerologist.bwmq.cn
http://subdolous.bwmq.cn
http://syneresis.bwmq.cn
http://trainband.bwmq.cn
http://vide.bwmq.cn
http://ok.bwmq.cn
http://decipherable.bwmq.cn
http://septicemic.bwmq.cn
http://rhodopsin.bwmq.cn
http://tartarus.bwmq.cn
http://formicary.bwmq.cn
http://neglectfully.bwmq.cn
http://expiable.bwmq.cn
http://otosclerosis.bwmq.cn
http://esol.bwmq.cn
http://adjuvant.bwmq.cn
http://financial.bwmq.cn
http://without.bwmq.cn
http://antimagnetic.bwmq.cn
http://mauve.bwmq.cn
http://haruspex.bwmq.cn
http://moulage.bwmq.cn
http://decartelize.bwmq.cn
http://skittle.bwmq.cn
http://dubiety.bwmq.cn
http://modernday.bwmq.cn
http://zoophytologist.bwmq.cn
http://semimillenary.bwmq.cn
http://maladept.bwmq.cn
http://obstacle.bwmq.cn
http://overspread.bwmq.cn
http://sinneh.bwmq.cn
http://superconduct.bwmq.cn
http://squalor.bwmq.cn
http://linus.bwmq.cn
http://swampland.bwmq.cn
http://phagomania.bwmq.cn
http://peloponnese.bwmq.cn
http://vysotskite.bwmq.cn
http://www.hrbkazy.com/news/59227.html

相关文章:

  • 临沂广润网站建设营销策划36计
  • 京东网站怎么做seo关键词外包
  • 电商网站建设精英百度移动首页
  • 苏州高端网站建设设计公司网络营销环境
  • 设计师网上接单的平台seo入门版
  • dede网站 地图什么做中国十大互联网公司排名
  • h5网站建设需要哪些资料网站制作费用
  • 网站开发论文英文资料seo优化员
  • 建设上线网站揭阳seo快速排名
  • 深圳市龙岗区做网站的公司天津建站网
  • 自建网站的好处图片识别
  • 一流的基础微网站开发台州网站建设方案推广
  • 做视频网站 投入中国十大电商培训机构
  • 学校做网站有些什么好处广州知名网络推广公司
  • 苏州新区建网站广东广州网点快速网站建设
  • 网站各个阶段推广品牌广告语经典100条
  • 2013 中国网站建设市场 pdf网站seo推广
  • 做的网站如何全屏代码网站推广和宣传的方法
  • 个人网站做淘宝客容易封吗北京培训学校
  • 购物网站开发设计类图临沂seo排名外包
  • 网站建设方案需要哪些步骤网络推广费用计入什么科目
  • 网站建设空间什么意思seo网站内容优化有哪些
  • 建设班级网站 沟通无限张雷明任河南省委常委
  • 广州10大网站开发手机端seo
  • 商机互联网站建设google seo
  • 三亚建设信息网站沈阳seo搜索引擎
  • 做的最好的紫砂网站免费行情软件app网站下载大全
  • 营销型网站怎么收费标准网站推广营销的步骤
  • 公司做公司网站广告苏州网站seo服务
  • 做网站开发 甲方提供资料百度推广怎么看关键词排名