python - 抓包只抓到json,真实的地址却找不到
PHPz
PHPz 2017-04-18 10:22:53
0
2
823

用charles对一览(https://www.yilan.io/home/?ca...)进行抓包,该页面是懒加载形式,每一次加载会生成一个recommended(登录情况下文件名变化但是原理相同),这个文件里面有json可以取得想要的数据。
但是post的地址(见图片顶部)如果直接复制访问会报404,不知道该如何获得可以获取数据的真实地址,并进行若干个recommended的批量抓取呢?
谢谢!

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
巴扎黑

Beritahu saya tentang kaedah saya, saya telah merangkak data. Saya menggunakan pepijat api. Selepas membukanya, saya menemui laluan berikut: https://www.yilan.io/article/recommended

Selepas melihat kandungan yang hendak disiarkan, saya memerlukan set data ini {"langkau ":0," had":20}. Mula menulis kod di bawah:

import urllib2
import urllib
import gzip
from StringIO import StringIO
import json
api = 'https://www.yilan.io/article/recommended'
data = {"skip":0,"limit":20}
headers = { 'Accept': 'application/json, text/plain, */*',
            'Accept-Encoding':    'gzip, deflate',
            'Accept-Language': 'zh-CN,zh',
            'Connection': 'keep-alive',
            'Cookie':    'XSRF-TOKEN=APc3KgEq-6wavGArI6rLf6tPW69j7H_Qm2s0; user=%7B%22_id%22%3A%22%22%2C%22role%22%3A%7B%22title%22%3A%22anon%22%2C%22bitMask%22%3A1610612736%7D%7D; Metrix-sid=s%3AjDAFvFGo3C0BJzR7cTXBXHl6VM493Gp0.C1svjUqfnY3NhUluURMDdaL3HEpUX8rpSj9%2F9yhKnEI',
            'User-Agent':    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0',
            'X-XSRF-TOKEN': 'APc3KgEq-6wavGArI6rLf6tPW69j7H_Qm2s0'
            }
url_data = urllib.urlencode(data)
request = urllib2.Request(api, data=url_data,headers=headers)
content = urllib2.urlopen(request).read()
contents = StringIO(content)
f = gzip.GzipFile(mode='rb', fileobj=contents).read()
b = json.loads(f)
print b

Keputusan larian adalah seperti berikut:

[{u'readCount': 12, u'siteTitle': u'\u5de5\u5177\u7656', u'siteUrl': u'http://jianshu.milkythinking.com/feeds/collections/2mvgxp', u'siteFavicon': u'http://7xiyp4.com2.z0.glb.qiniucdn.com/site-5627773e8b3ac7e104c6280f-favicon', u'feature_image': u'http://7x2wdd.com2.z0.glb.qiniucdn.com/54e7178471ab07ea378e0d254a57b3cc', u'author': u'', u'url': ...]

Kemudian hanya ekstrak kandungan yang anda mahukan Anda boleh menukar nilai had untuk menukar jumlah kandungan yang akan diperolehi pada satu masa.
Tapak web mungkin menyemak data yang anda siarkan di latar belakang Jika terdapat ralat, ia akan menyebabkan 404, itulah sebabnya laluan tidak boleh diakses secara langsung.

大家讲道理

Mungkin tetapan HTTP HEADERS tidak betul. Saya tidak tahu cara menyediakannya secara khusus Anda boleh menghasilkan set HEADERS yang menyerupai penyemak imbas biasa atau menjejaki permintaan dalam penyemak imbas.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan