python爬取动态页面(一)js数据端口

本文介绍如何使用Python爬取动态网页,以信用成都网站为例,详细阐述了如何发现并利用POST请求抓取隐藏数据。首先,通过F12查看源码和网络请求,找到隐藏在JS中的POST事件。接着,解析请求头中的URL,添加请求头以获取JSON格式的数据,并转化为Python对象。对于弹窗显示的详细信息,通过分析参数并模拟POST请求,成功获取所需数据。
摘要由CSDN通过智能技术生成

我们知道部分网站属于动态页面,数据不通过产生新的url即可加载。比如说今日头条,数据通过下拉方式加载;而又比如说信用成都网站,则通过产生新窗口加载数据。

以爬取信用成都列异名录为例。爬取地址为:“http://credit.chengdu.gov.cn/www/index.html#/m///exceptionList/1/10/”
按F12打开源码,发现数据被隐藏。
打开pychram下载源码试试。

import requests
from bs4 import BeautifulSoup

url="http://credit.chengdu.gov.cn/www/index.html#/m///exceptionList/1/10/"
r= requests.get(url)
soup = BeautifulSoup(r.text,"lxml")
print(soup)

打印出的页面如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<style>
body{ background:#fff; font-family: microsoft yahei; color:#969696; font-size:14px;}
.online-desc-con { text-align:center; }
.r-tip01 { color: #333; font-size: 18px; display: block; text-align: center; width: 500px; padding: 0 10px; overflow: hidden; text-overflow: ellipsis; margin: 0 auto 15px; }
.r-tip02 { color: #585858; font-size: 14px; display: block; margin-top: 20px; margin-bottom: 20px; }
#notice-jiasule {
  word-wrap: break-word;
  word-break: normal;
  color:#585858;
  border:1px solid #ddd;
  padding:0px 20px 0px 20px
}
img { border: 0; }
.u-ico{ vertical-align: middle; margin-right: 12px;}
.btn{ padding: 8px 22px; border-radius: 3px; border: 0; display: inline-block;vertical-align: middle;text-decoration: none;}
.btn-g{ background-color: #61b25e; color: #fff;}
.report {color: #858585; text-decoration: none;}
.report:hover {text-decoration: underline; color: #0088CC;}
hr{ border-top: 1px dashed #ddd;}
c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值