爬取动态网站表格内容

一、简介

(1)选用requests

(2)数据来源以执法惩戒网站为例网址:http://119.6.84.165:8085/sfgk/webapp/area/cdsfgk/zxxx/zxcj.jsp

目录

一、简介

二、考察网站

三、开始爬虫

四、爬取的数据:

五、数据的过滤和保存


二、考察网站

按f12,f5刷新,点击network如图:

       

    点击每一个请求,查找哪个是你需要的,假如我们是爬取图片和动图的话,我们就看看jpg是不是我们想要的。但是我们的目标是爬取表格,我们就完全没有必要点开.png\.gif\.jpg。重点要关注看.jsp结尾的,首先打开第一个zxcj.jsp,看preview和response都可以,但是preview比较直观,显示的是网页的一些标题、菜单栏之类的。在我们一顿搜索以后找到了ajax.jsp,仔细一看数字信息对上了,如图,所以ajax.jsp就是我们想要

首先是考察from提交的信息:

还有from的信息

三、开始爬虫

(1)找到请求头Headers,From Data的信息,这些参数都是我们要用来发送post请求的,复制到本地备用。通过from种格式传到服务器。我选用了元组的格式。 当data 参数传入一个元组列表。在表单中多个元素使用同一 key 的时候,这种方式尤其有效。现在只能爬取一页,通过进一步考察from的参数可以找到参数currentPage显示当前为第几页。同样post_data里面等待post请求发送时一同传过去。

post_data = (('opt', 'getSxbzxrList'), ('zxlx','zxcj'), ('xxlx', 0), ('nd', ''),
             ('dz',''), ('zh', ''), ('fymc', '成都市中级人民法院'), ('bzxr',''),
             ('fydm', 510100),('currentPage',i))

(2)按照标准套路填写,我只爬了4页:

url = 'http://119.6.84.165:8085/sfgk/webapp/area/cdsfgk/zxxx/ajax.jsp'
for page in range(0, 4):
    post_data = (('opt', 'getSxbzxrList'), ('zxlx','zxcj'), ('xxlx', 0), ('nd', ''),
                 ('dz',''), ('zh', ''), ('fymc', '成都市中级人民法院'), ('bzxr',''),
                 ('fydm', 510100),('currentPage',page))
    response = requests.post(url, data=post_data)
    print(response.text)

四、爬取的数据:

class getData(object):
    def __init__(self,url):
        self.url = url
        self.html = ''

    def get_html(self):
        for page in range(0, 4):
            post_data = (('opt', 'getSxbzxrList'), ('zxlx','zxcj'), ('xxlx', 0), ('nd', ''),
                         ('dz',''), ('zh', ''), ('fymc', '成都市中级人民法院'), ('bzxr',''),
                         ('fydm', 510100),('currentPage',page))
            self.html += requests.post(self.url, data=post_data).text
        return self.html
gd = getData(URL)
print(gd.get_html())

五、数据的过滤和保存

爬取后的文字解析工作

发布了46 篇原创文章 · 获赞 75 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_38875300/article/details/80148471