爬虫抓取网页数据(python爬虫实战之三AJAX数据爬取和HTTPS访问(组图))

优采云 发布时间: 2022-03-15 01:24

  爬虫抓取网页数据(python爬虫实战之三AJAX数据爬取和HTTPS访问(组图))

  python爬虫URL编码和GETPOST请求| python爬虫实战三 python爬虫AJAX数据爬取和HTTPS访问

  我们首先需要回顾一下之前接触过的爬虫的概念、爬取过程、爬虫的标准库等。

  通常我们在大多数情况下编写的爬虫都是专注的爬虫。

  接下来,我们通过豆瓣电影对 JSON 数据进行处理。

  处理 JSON 数据

  看看“豆瓣电影”,看看“最近热门电影”的“火爆”。

  

  右键单击“检查元素”,找到“网络”,然后刷新它。

  

  

  我们可以看到很多内容,我们分析这部分热门电影。

  

  然后复制地址进行操作分析。

  通过分析,我们知道这部分内容是通过AJAX从后台获取的Json数据。

  访问的 URL 是 %E7%83%AD%E9%97%A8&page_limit=50&page_start=0

  其中,%E7%83%AD%E9%97%A8是utf-8编码的中文“热”

  服务端返回的JSON数据如下:

  轮播组件一共需要50条数据。

  url的表示如下:

  标签标签“hot”,意思是热门电影

  type 数据类型,movie 是电影

  page_limit 表示返回数据的总数

  page_start 表示数据偏移量

  我们可以设置page_limit=10&page_start=10的值。

  from urllib.parse import urlencode

from urllib.request import urlopen, Request

import simplejson

ua = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"

jurl = 'https://movie.douban.com/j/search_subjects'

d = {

'type':'movie',

'tag':'热门',

'page_limit':10,

'page_start':10

}

req = Request('{}?{}'.format(jurl, urlencode(d)), headers={

'User-agent':ua

})

with urlopen(req) as res:

subjects = simplejson.loads(res.read())

print(len(subjects['subjects']))

print(subjects)

  结果:

  

  至此,就可以获取到内容了,那我们还需要封装爬虫吗?

  因为每个企业处理的方式可能不同,所以返回的数据可能是html或JSON。因此,处理方法必须一致,或者将函数封装在一个方法中是我们思考的重点。很多时候我们会为一些特定的数据写一个特定的爬虫,具体的网站。因为每个网站的解析提取方法可能不同。现在我们只做一个简单的 JSON 处理。但是如果是网页解析,那就很麻烦了,尤其是网页模板一旦改变,就需要重写网页解析方法。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线