怎么在静态网页进行数据采集?

1.首先选择一个要进行数据采集的网址 打开我们要进行数据采集的网址 (例如:选择获取租房网页的数据采集 注:这里我选择的是贝壳租房网页 )

网址:https://cd.zu.ke.com/zufang/pg

2.新建一个python文件 命名为xx租房\

3.在刚才打开的网址中复制网页的cURL地址  操作如下:

  在网址中按F12打开控制台 

4.复制了刚才的curl地址我们需要去访问解析网页内容的网址 (注:解析curl的网址Convert curl commands to code (curlconverter.com)) 将刚才复制的cURL地址粘贴在里面进行解析 过程如下:将解析好的python代码复制到我们第二步创建的xx租房python文件中去 结果如下:

5.在新建的xx租房python文件中 添加xx租房的网页网址 

核心代码:beike_address = '                    '  (注:空白部分是xx租房网页网址

注:这段代码定义了一个名为 beike_address 的变量,其值是一个字符串 'xx租房网页的网址'

作用:存储一个特定的网址或URL,该URL可能用于访问某个网站上的租房信息或页面。

6.我们需要进行拼接网页的地址 实现翻页 (这里我们需要使用for循环)

核心代码:

for i in range(1,6) :
    beike_url = beike_address+str(i)
    print(beike_url)

注:这段代码是使用 for 循环迭代从1到5的整数,然后将每个整数与 beike_address 变量中的字符串连接,构成一个新的URL。

代码部分截图如下:

效果展示:点击所圈的网址进行验证

7.使用POST获取请求内容 以及打印我们的状态码

核心代码:response = requests.post(beike_url, cookies=cookies, headers=headers,data=data)

注:这段代码的主要作用是使用HTTP POST请求向指定的 beike_url 发送数据,同时包括了cookies和请求头部信息。这通常用于与服务器进行数据交互,例如提交表单、请求资源或执行其他需要与服务器通信的操作。

核心代码:print(response.status_code) (打印请求状态码

效果如下:

8.成功打印后 我们去查看网页的内容

核心代码:print(response.text)

效果展示:

9.看了网页的内容之后 我们需要使用etree去解析网页的内容 

核心代码:selector =etree.HTML(response.text)

我们需要去选择我们所要租房的一些信息 选中之后按F12转换到控制台 去复制租房信息的xpath的路径 如图所示:

复制了xpath解析后 我们要使用xpath去进行解析

核心代码:all_zufang = selector.xpath('        ') (注:空白部分就是过程我们所复制的XPath

解释:使用XPath表达式从HTML文档中选择一组特定的div元素,并将这些元素存储在 all_zufang 变量中,以便后续对它们进行进一步的处理、分析或提取信息。这通常用于网页爬虫和数据抓取任务,以从网页中提取所需的数据。

10.解析了xpath后 我们需要使用for循环遍历地址的内容

核心代码:for xiaoqu in all_zufang:   

这里我们首先要获取小区的名称 小区的地址 小区的价格的xpath地址 且需要将它们打印出来

核心代码:xiaoqu_name = xiaoqu.xpath('    ')  (注:空白处是复制的xpath地址 我们需要复制三个的xpath地址 )  

                  print(xiaoqu_??)  (注:??是名称 , 地址 ,价格的英文

获取xpath地址 上面有 过程一样 换汤不换药

效果如下:

11.最后我们需要将上面所打印出来的 添加到数组  和写入数组

核心代码:1.item = [xiaoqu_name,xiaoqu_address,xiaoqu_price] (注:添加的数组)

                 2.witescsv(item)  (注:写入数组)

            

效果最终展示:

最后就实现了如何在指定的静态网页进行数据采集~~~  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值