通过观察京东商品页面返回的评论数据是 JSON 格式的,所以抓取指定评论需要使用 JSON 模块中相应的 API 进行分析,而从搜索页面抓取的商品列表需要分析 HTML 代码,所以使用 bs4。在对数据进行分析整理后,需要将数据保存到 sqlite 数据库中,其他模块还包括 os 和 fake_useragent(获取假的消息头,之前用一个消息头好像被封了,带秀)。
from urllib3 import *
import sqlite3
import json
import os
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
首先我们来到京东随便搜索一个商品,并且进入商品具体页面,检测network
不难发现这个页面获取了评论有关的json数据:
将此 url 在浏览器中访问后
这并不是纯粹的 json 数据,前面还有 fetchJSON_comment...,以及其他一些不属于 JSON 数据的内容,通过不同的商品面叶可以发现 callback 参数的值基本上都不同,回调函数,不妨去掉试试
哈!果然能正常访问,而且内容中也没有了fetchJSON_啥啥啥的,这又方便了不少
于是我们得到了一个基本格式