ajax爬虫专业,ajax爬虫

import requests

url = 'https://m.weibo.cn/api/container/getIndex';

headers = {

'Host': 'm.weibo.cn',

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36',

'X-Requested-With': 'XMLHttpRequest',

}

def get_page(page):

params = {

'containerid': '2304132830678474_-_WEIBO_SECOND_PROFILE_WEIBO',

'page_type': '03',

'page': page

}

try:

response = requests.get(url, params=params)

if response.status_code == 200:

return response.json()

except requests.ConnectionError as e:

print('Error', e.args)

from pyquery import PyQuery as pq

def parse_pase(json):

if json:

items = json.get('data').get('cards')

for item in items:

item = item.get('mblog')

weibo = {}

weibo['id'] = item.get('id', 'NULL')

if(weibo['id'] == 'NULL'):

continue

weibo['text'] = pq(item.get('text')).text()

weibo['attitudes_count'] = item.get('attitudes_count')

yield weibo

if name == "main":

for page in range(2, 20):

json = get_page(page)

results = parse_pase(json)

for result in results:

print(result)