分析微博中属于头条的那一栏数据为ajax数据,分析接口获取动态加载页面的链接,分析json数据从而拿到每条数据的子链接,进入二级爬取页面获取待爬取的数据。
import requests
import json
import re
from wenben import SaveMysqlModule,mongoSaveModule
#wenben是一个py文件,我自己写的sql和mondb保存的模块就放在这个文件中
from lxml import etree
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}
class WeiBo(object):
def __init__(self,fname = None):
self.fname = fname
self.url = 'https://weibo.com/a/aj/transform/loadingmoreunlogin?ajwvr=6&category=1760&page=%d&lefnav=0&cursor=&__rnd=1566899070160'#ajax数据的url
def startspider(self):
for page in range(40):
url = self.url % page#各个页面ajax数据的url
self.parseurl(url)
def parseurl(self,url):
response = requests.get(url,headers = headers).content.decode()