1.目标站点分析:
爬取网页一般优先选择手机版,通过在google浏览器启动快捷方式后面添加 –user-agent=’Android’ 即可模拟手机.
搜索关键字 python 即可看到python相关,通过network查看加载过程.请求的URI的一个网页含有很少信息,我们有理由相信网页是通过ajax加载商品信息,
点击xhr选项即可查看所有ajax ,通过response标签即可看到每个ajax携带的内容,向下滚动网页,加载更多的ajax便于观察,查看可发现ajax携带的json字符串含有所有商品信息,keyword=python ,即为搜索关键词 并且通过改变offset参数既可以获得下一页的信息,至此加载商品列表url参数和信息获取分析完毕。
点击商品查看商品详细信息,直接先看看ajax,幸好,商品信息也是通过ajax加载 ,返回了包含商品的详细信息的json字符串,对比商品列表里的商品信息 ,和其他商品详细信息的ajax url参数 url中变量为 tag t t为时间 tag为加密生产 到数几位变化即为商品列表中RESOURCEID的值,至此,商品详细信息ajax的url和内容分析完毕 最后保存到mongodb
- 数据获取
import requests
import json
import pymongo
from bs4 import BeautifulSoup
import time
from retrying import retry
from numpy import random
MONGON_URL = 'localhost'
MONGO_DB = 'taobao'
MONGO_TABLE = 'more1'
client = pymongo.MongoClient(MONGON_URL, connect=False)
db = client[MONGO_DB]
# t 是变化
# sign 加密